docker筑基篇-03-使用docker-commit构建自己的镜像
2016-10-18 23:50
1041 查看
准备
创建镜像
1 启动一个容器
2 定制内容
3 提交变更
4 启动新的镜像
将镜像推送到DockerHub
docker构建镜像,至少有两种方法:
docker commit 命令
Dockerfile
本篇文章介绍如何使用
登录到Dockerhub,如下所示:
并将其状态保留,以便不用每次启动新容器都要再次安装nginx。
内容如下:
安装nginx:
下一篇将介绍使用Do
4000
ckerfile来构建自己的镜像。
创建镜像
1 启动一个容器
2 定制内容
3 提交变更
4 启动新的镜像
将镜像推送到DockerHub
docker构建镜像,至少有两种方法:
docker commit 命令
Dockerfile
本篇文章介绍如何使用
docker commit命令来构建自己的镜像。并推送到DockerHub。
1 准备
DockerHub账号: 去这里注册就行了,https://hub.docker.com/登录到Dockerhub,如下所示:
[root@h1 ~]# docker login Username: hylexus Password: Email: hylexus@163.com WARNING: login credentials saved in /root/.docker/config.json Login Succeeded
2 创建镜像
此处我们打算,给一个centos:6.8容器安装nginx服务器。并将其状态保留,以便不用每次启动新容器都要再次安装nginx。
2.1 启动一个容器
此处先启动一个centos:6.8容器[root@h1 ~]# docker run -it centos:6.8 /bin/bash [root@3b09d0d9450d /]#
2.2 定制内容
给该容器添加nginx:# 先添加个yum源 vi /etc/yum.repos.d/nginx.repo
内容如下:
# 这些内容可以从nginx官网找到 [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
安装nginx:
yum install -y nginx # 等待安装完成
2.3 提交变更
# 先退出容器 [root@3b09d0d9450d /]# exit exit # 提交变更,类似于git的commit,只提交变化的部分 [root@h1 ~]# docker commit 3b09d0d9450d hylexus/nginx 2efd2ac407e22bb03a02123913fa5a0627a74a20d11c2f578fe19e726645c949 # 也可以像git一样指定更加详细的提交信息 [root@h1 ~]# docker commit -m="add nginx" --author="hylexus" 3b09d0d9450d hylexus/nginx:webserver c12e1d27128ab89b49f240713f8a9444de4dffd8ee3703d12a51ead45a67f4a4 # 查看 [root@h1 ~]# docker images hylexus/nginx REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hylexus/nginx webserver c12e1d27128a 39 seconds ago 295.9 MB hylexus/nginx latest 2efd2ac407e2 19 minutes ago 295.9 MB
2.4 启动新的镜像
[root@h1 ~]# docker run -it hylexus/nginx:webserver /bin/bash # nginx虽未自启动,但是确实是存在的 [root@5ad89abc5bed /]# service nginx status nginx is stopped [root@5ad89abc5bed /]# service nginx start Starting nginx: [ OK ] # 可以看到nginx的master和worker进程正常运行 [root@5ad89abc5bed /]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 12972 1908 ? Ss 22:52 0:00 /bin/bash root 47 0.0 0.0 45028 1204 ? Ss 22:53 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf nginx 49 0.0 0.0 45468 1820 ? S 22:53 0:00 nginx: worker process root 51 0.0 0.0 14896 1172 ? R+ 22:53 0:00 ps aux
3 将镜像推送到DockerHub
就像github一样的版本控制一样。自己的docker镜像也可以提交到DockerHub。# 要先登录DockerHub # 此处的hylexus/nginx即是镜像名称:<user-name>/<image-name> docker push hylexus/nginx
下一篇将介绍使用Do
4000
ckerfile来构建自己的镜像。
相关文章推荐
- 使用Dockerfile构建自己的etcd镜像
- docker筑基篇-04-使用Dockerfile构建自己的镜像
- 使用dockerfile构建自己的镜像
- Docker--docker使用及自定义Dockerfile构建镜像
- 使用Dockerfile制作自己的Docker镜像
- 浅谈使用Maven插件构建Docker镜像的方法
- 使用Docker镜像构建RPM包
- 使用Dockerfile文件构建基于centOS系统的tomcat镜像
- Docker使用Dockerfile构建镜像
- 【086】部署nodejs程序时,如何把自己用到的npm模块封装成Docker镜像,方便在离线的时候使用?
- 使用docker scratch 空镜像构建golang docker 服务
- Docker的使用--制作自己的镜像(四)
- Docker学习6 - 使用Dockerfile构建镜像
- 第一个SpringBoot web 应用使用maven构建Docker镜像并容器化运行
- 使用dockerfile构建镜像
- 使用dockerfile 构建springboot 的docker镜像
- Docker-- 如何使用Dockerfile构建镜像
- 如何使用Dockerfile构建镜像
- Docker系列~使用Dockerfile构建镜像(三)
- 使用Dockerfile构建镜像-Docker for Web Developers(5)