怎样用Docker创建我们自己的镜像

简介: 怎样用Docker创建我们自己的镜像 官方文档 Docker创建镜像 总共有两种方法:  1.用别人的镜像创建。  1.1、先下载一个容器  命令: docker pull training/sinatra  1.2、然后用容器启动这个镜像  命令:docker run -t -i training/sinatra /bin/bash  1.3、接下来就是给使用中的容器,添加自己需要的工具等,来组装自己的运行环境。

怎样用Docker创建我们自己的镜像

官方文档

Docker创建镜像
总共有两种方法: 
1.用别人的镜像创建。 
1.1、先下载一个容器 
命令: docker pull training/sinatra 
1.2、然后用容器启动这个镜像 
命令:docker run -t -i training/sinatra /bin/bash 
1.3、接下来就是给使用中的容器,添加自己需要的工具等,来组装自己的运行环境。 
1.4、将上一步组装好的环境copy一份镜像。 
命令: 
docker commit -m “Added json gem” -a “KateSmith” \ 
0b2616b0e5a8 ouruser/sinatra:v2 
说明:此处命令和git的命令svn的命令有些类似。 docker commit 是提交的意思,类似告诉svn服务器我要生成一个新的版本。 
-m 就是添加注释,-a是作者。 
“\” 后面跟的是 1.2的容器环境id 要生成的镜像的名称 
容器的id:就是你每次输入命令行@后面的字符 
例如:root@0b2616b0e5a8 
镜像名称:hub的名称/镜像名称:tag 
1.5、docker images命令查看自己创建的镜像。 
1.6、使用新建立的镜像 
命令:docker run -t -i 要生成的镜像的名称 /bin/bash

2.使用Dockerfile 
两种创建方法相比,就类似以前的Java项目开发,在没有使用maven以前,所以的东西都是现在好了放到项目中,如果有新的开发人员进来,需要把项目的jar文件都拷贝给他。但是使用maven以后就是不需要了。Dockerfile就类似这样的道理 
2.1、创建镜像所在的文件夹和Dockerfile文件 
命令: 
1、mkdir sinatra 
2、cd sinatra 
3、touch Dockerfile 
2.2、在Dockerfile文件中写入指令,没一条指令都会更新镜像的信息例如: 
# This is a comment 
FROM ubuntu:14.04 
MAINTAINER Kate Smith ksmith@example.com 
RUN apt-get update && apt-get install -y ruby ruby-dev 
RUN gem install sinatra 
格式说明: 
每行命令都是以 INSTRUCTION statement 形式,就是命令+ 清单的模式。命令要大写,“#”是注解。 
FROM 命令是告诉docker 我们的镜像什么。 
MAINTAINER 是描述 镜像的创建人。 
RUN 命令是在镜像内部执行。就是说他后面的命令应该是针对镜像可以运行的命令。 
2.3、创建镜像 
命令:docker build -t ouruser/sinatra:v2 . 
docker build 是docker创建镜像的命令 
-t 是标识新建的镜像属于 ouruser的 
sinatra是仓库的名称 
:v2 是tag 
“.”是用来指明 我们的使用的Dockerfile文件当前目录的 
2.4、创建完成后,从镜像创建容器 
docker run -t -i ouruser/sinatra:v2 /bin/bash

到此两种创建镜像的方式就完毕了。

问题: 以上两种方式都是以Docker的镜像仓库为基础,那我用自己的系统作为镜像怎么办那?

有使用工具的,有使用镜像模板的等等,可以百度 
别人已经解决了这个问题
--------------------- 
作者:瞅小丫 
来源:CSDN 
版权声明:本文为博主原创文章,转载请附上博文链接!
相关文章
|
1月前
|
前端开发 关系型数据库 MySQL
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
|
2月前
|
网络协议 数据安全/隐私保护 Docker
Docker 镜像库国内加速的几种方法
Docker 镜像库国内加速的几种方法
|
6天前
|
应用服务中间件 Docker 容器
docker 镜像常用命令
docker 镜像常用命令
24 0
|
14天前
|
存储 Kubernetes API
Docker拉取镜像或者kubectl出现的这个解决方案x509: certificate signed by unknown authority
Docker拉取镜像或者kubectl出现的这个解决方案x509: certificate signed by unknown authority
36 2
|
15天前
|
Linux Docker 容器
Linux彻底卸载Docker包括运行拉取的镜像
Linux彻底卸载Docker包括运行拉取的镜像
19 1
|
19天前
|
Docker 容器
docker删除镜像
docker删除镜像
50 0
|
28天前
|
网络安全 Docker 容器
docker 拷贝本地镜像
【2月更文挑战第27天】
|
29天前
|
SQL 关系型数据库 数据库
docker如何进入镜像其他的SQL
【2月更文挑战第25天】
|
1月前
|
存储 Ubuntu Shell
mac docker镜像在哪个文件夹
【2月更文挑战第22天】
|
1月前
|
Ubuntu Docker 容器
Docker镜像管理
Docker镜像管理
83 0