免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 25828 | 回复: 21

如何构建一个Docker镜像 [复制链接]

论坛徽章:
18
IT运维版块每日发帖之星
日期:2016-06-07 06:20:0015-16赛季CBA联赛之北控
日期:2016-06-30 21:19:06IT运维版块每日发帖之星
日期:2016-06-29 06:20:00每日论坛发贴之星
日期:2016-06-28 06:20:00IT运维版块每日发帖之星
日期:2016-06-28 06:20:00数据库技术版块每日发帖之星
日期:2016-06-23 06:20:00每日论坛发贴之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-21 06:20:00wusuopu
日期:2016-06-17 17:43:45IT运维版块每日发帖之星
日期:2016-06-16 06:20:00IT运维版块每日发帖之星
日期:2016-06-15 06:20:00
发表于 2016-06-29 01:14 |显示全部楼层
1、运行一个容器,并且在容器中安装和配置nginx


        [iyunv@docker /]# docker run --name nginx-man -it centos
[iyunv@37d5b354b661 /]# yum install -y wget gcc gcc-c++ make openssl-devel
[iyunv@37d5b354b661 /]# wget http://nginx.org/download/nginx-1.9.11.tar.gz
--2016-02-24 06:14:44--  http://nginx.org/download/nginx-1.9.11.tar.gz
Resolving nginx.org (nginx.org)... 95.211.80.227, 206.251.255.63, 2001:1af8:4060:a004:21::e3, ...
Connecting to nginx.org (nginx.org)|95.211.80.227|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 895373 (874K) [application/octet-stream]
Saving to: 'nginx-1.9.11.tar.gz'
100%[==========================================================================================================>] 895,373      357KB/s   in 2.5s   
2016-02-24 06:14:46 (357 KB/s) - 'nginx-1.9.11.tar.gz' saved [895373/895373]
[iyunv@37d5b354b661 /]# cd /usr/local/src
[iyunv@37d5b354b661 src]# tar zxvf pcre-8.38.tar.gz
[iyunv@37d5b354b661 src]# tar zxvf nginx-1.9.11.tar.gz
[iyunv@37d5b354b661 src]# useradd -s /sbin/nologin -M www
[iyunv@37d5b354b661 src]# pwd
/usr/local/src
[iyunv@37d5b354b661 src]# ls
nginx-1.9.11  nginx-1.9.11.tar.gz  pcre-8.38  pcre-8.38.tar.gz
[iyunv@37d5b354b661 src]# cd nginx-1.9.11
[iyunv@37d5b354b661 nginx-1.9.11]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.38
[iyunv@37d5b354b661 nginx-1.9.11]# make
[iyunv@37d5b354b661 nginx-1.9.11]# make install
[iyunv@37d5b354b661 nginx-1.9.11]# echo $?
[iyunv@37d5b354b661 nginx-1.9.11]# vi /usr/local/nginx/conf/nginx.conf



添加信息:
daemon off;
允许后台允许nginx:
1
2
3
4
        [iyunv@37d5b354b661 nginx-1.9.11]# echo "daemon off;">>/usr/local/nginx/conf/nginx.conf
设置开机自动启动(经过测试发现不能自动生效):
[iyunv@37d5b354b661 nginx-1.9.11]# vi /etc/rc.local         
[iyunv@37d5b354b661 nginx-1.9.11]# echo "/usr/local/nginx/sbin/nginx">>/etc/rc.local



2、将配置好的容器,当作一个镜像进行手动提交(wanlong/my-nginx:v3):

        [iyunv@docker ~]# docker ps -l
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS               NAMES
494d0139baf9        wanlong/my-nginx:v2   "/bin/bash"         6 minutes ago       Up 6 minutes                            lonely_curie        
[iyunv@docker ~]# docker commit -m "my nginx" 494d0139baf9 wanlong/my-nginx:v3
76507d1d9b41a5189eddd641f2ecbc1b19516eb83d8215dddc73887ca49f4bef
[iyunv@docker ~]# docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
wanlong/my-nginx             v3                  76507d1d9b41        5 seconds ago       517.2 MB
wanlong/my-nginx             v2                  b36ee38d811b        13 minutes ago      517.2 MB
ubuntu                       latest              c29e52d44f69        6 days ago          187.9 MB
wordpress                    latest              62a9acf5fc2a        12 days ago         517.3 MB
nginx                        latest              bbb75b846e7b        12 days ago         134.5 MB
dockerui/dockerui            latest              95c8b9dc91e0        3 weeks ago         6.13 MB
redis                        latest              34ca6ac180ad        3 weeks ago         151.2 MB
mongo                        latest              ad74160b3443        3 weeks ago         317.4 MB
daocloud.io/library/python   latest              a2db1214d015        4 weeks ago         689.1 MB
debian                       latest              5eb1402f0414        4 weeks ago         125.1 MB
centos                       latest              60e65a8e4030        8 weeks ago         196.6 MB
joedval/stress               latest              7eb627cb08a2        11 weeks ago        214.9 MB
jpetazzo/nsenter             latest              10cbe4e038bc        5 months ago        368.3 MB
lemonbar/centos6-ssh         latest              b78c71c001db        19 months ago       296.9 MB



3、使用提交过的镜像,运行新的容器

        [iyunv@docker ~]# docker run -d -p 9999:80 wanlong/my-nginx:v3 /usr/local/nginx/sbin/nginx
656058dc0375d3a88ebb8407e64f10542c95e5185b9335c0e50ae1de0be0cee2
[iyunv@docker ~]# docker ps -l
CONTAINER ID        IMAGE                 COMMAND                CREATED             STATUS              PORTS                  NAMES
656058dc0375        wanlong/my-nginx:v3   "/usr/local/nginx/sb   8 seconds ago       Up 6 seconds        0.0.0.0:9999->80/tcp   backstabbing_thompson   
[iyunv@docker ~]# docker ps
CONTAINER ID        IMAGE                 COMMAND                CREATED             STATUS              PORTS                    NAMES
656058dc0375        wanlong/my-nginx:v3   "/usr/local/nginx/sb   8 minutes ago       Up 8 minutes        0.0.0.0:9999->80/tcp     backstabbing_thompson   
494d0139baf9        wanlong/my-nginx:v2   "/bin/bash"            17 minutes ago      Up 17 minutes                                lonely_curie            
37d5b354b661        centos                "/bin/bash"            2 hours ago         Up 2 hours                                   nginx-man               
94ea720a2c41        centos                "/bin/bash"            4 hours ago         Up 4 hours                                   volume-test04           
8884fc392971        nginx                 "nginx -g 'daemon of   18 hours ago        Up 6 hours          80/tcp, 443/tcp          nginxdocker            
14caa9ab03a9        dockerui/dockerui     "/dockerui"            2 days ago          Up 6 hours          0.0.0.0:9000->9000/tcp   dockerui_qinwen         
e278cabec91e        centos                "/bin/bash"            2 days ago          Up 6 hours                                   centos_aways



在浏览器中输入:http://192.168.1.129:9999/,可以看到nginx的默认界面,配置成功

求职 : Linux运维
论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:15:0815-16赛季CBA联赛之山东
日期:2016-10-31 10:40:10综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00IT运维版块每日发帖之星
日期:2016-02-08 06:20:00数据库技术版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-10 06:20:00黄金圣斗士
日期:2015-11-24 10:45:10IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:012015年亚洲杯之巴勒斯坦
日期:2015-05-05 10:19:03
发表于 2016-06-29 08:53 |显示全部楼层
管理员能够使用命令集创建自己的IMAGES才是DOCKER应该具备的基础功能之一。很多时候这才是真正的体现企业用户自主的重要标志!!!让我们来类比一下,DOCKER中的IMAGES其实就像vmware中的那个虚机文件夹!!!

论坛徽章:
18
IT运维版块每日发帖之星
日期:2016-06-07 06:20:0015-16赛季CBA联赛之北控
日期:2016-06-30 21:19:06IT运维版块每日发帖之星
日期:2016-06-29 06:20:00每日论坛发贴之星
日期:2016-06-28 06:20:00IT运维版块每日发帖之星
日期:2016-06-28 06:20:00数据库技术版块每日发帖之星
日期:2016-06-23 06:20:00每日论坛发贴之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-21 06:20:00wusuopu
日期:2016-06-17 17:43:45IT运维版块每日发帖之星
日期:2016-06-16 06:20:00IT运维版块每日发帖之星
日期:2016-06-15 06:20:00
发表于 2016-06-29 23:27 |显示全部楼层
回复 2# niao5929


    话虽如此说,但是docker的images更容易扩展,迁移,部署,删除,调用,可比VMware中的文件夹进化了好多了等级

求职 : Linux运维
论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:15:0815-16赛季CBA联赛之山东
日期:2016-10-31 10:40:10综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00IT运维版块每日发帖之星
日期:2016-02-08 06:20:00数据库技术版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-10 06:20:00黄金圣斗士
日期:2015-11-24 10:45:10IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:012015年亚洲杯之巴勒斯坦
日期:2015-05-05 10:19:03
发表于 2016-06-30 09:20 |显示全部楼层
对的,问题是目前DOCKER缺少那种本地化创建VMWARE虚机的方便性回复 3# 开源将军


   

论坛徽章:
18
IT运维版块每日发帖之星
日期:2016-06-07 06:20:0015-16赛季CBA联赛之北控
日期:2016-06-30 21:19:06IT运维版块每日发帖之星
日期:2016-06-29 06:20:00每日论坛发贴之星
日期:2016-06-28 06:20:00IT运维版块每日发帖之星
日期:2016-06-28 06:20:00数据库技术版块每日发帖之星
日期:2016-06-23 06:20:00每日论坛发贴之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-21 06:20:00wusuopu
日期:2016-06-17 17:43:45IT运维版块每日发帖之星
日期:2016-06-16 06:20:00IT运维版块每日发帖之星
日期:2016-06-15 06:20:00
发表于 2016-06-30 17:31 |显示全部楼层
回复 4# niao5929


    这些问题Docker都会慢慢的兼容的,不久的将来,docker就会一统轻量化跨平台迁移平台

论坛徽章:
10
数据库技术版块每日发帖之星
日期:2015-06-14 22:20:00数据库技术版块每日发帖之星
日期:2016-03-10 06:20:00数据库技术版块每日发帖之星
日期:2015-12-01 06:20:00IT运维版块每日发帖之星
日期:2015-11-09 06:20:00IT运维版块每日发帖之星
日期:2015-11-02 06:20:00IT运维版块每日发帖之星
日期:2015-07-13 22:59:28IT运维版块每日发帖之星
日期:2015-06-23 22:20:00程序设计版块每日发帖之星
日期:2015-06-21 22:20:00每日论坛发贴之星
日期:2015-06-14 22:20:00IT运维版块每日发帖之星
日期:2016-08-02 06:20:00
发表于 2016-07-03 22:18 |显示全部楼层
chroot用不好。想自己做个操作系统库。

论坛徽章:
18
IT运维版块每日发帖之星
日期:2016-06-07 06:20:0015-16赛季CBA联赛之北控
日期:2016-06-30 21:19:06IT运维版块每日发帖之星
日期:2016-06-29 06:20:00每日论坛发贴之星
日期:2016-06-28 06:20:00IT运维版块每日发帖之星
日期:2016-06-28 06:20:00数据库技术版块每日发帖之星
日期:2016-06-23 06:20:00每日论坛发贴之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-21 06:20:00wusuopu
日期:2016-06-17 17:43:45IT运维版块每日发帖之星
日期:2016-06-16 06:20:00IT运维版块每日发帖之星
日期:2016-06-15 06:20:00
发表于 2016-07-03 22:49 |显示全部楼层
回复 6# hiyachen


    有想法,我倒是没有那个勇气,不过我看好你喔

论坛徽章:
220
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:53操作系统版块每日发帖之星
日期:2016-05-10 19:22:58月度论坛发贴之星
日期:2016-01-31 22:25:02操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
发表于 2016-07-09 13:32 |显示全部楼层
docker 区分32和64么??

论坛徽章:
18
IT运维版块每日发帖之星
日期:2016-06-07 06:20:0015-16赛季CBA联赛之北控
日期:2016-06-30 21:19:06IT运维版块每日发帖之星
日期:2016-06-29 06:20:00每日论坛发贴之星
日期:2016-06-28 06:20:00IT运维版块每日发帖之星
日期:2016-06-28 06:20:00数据库技术版块每日发帖之星
日期:2016-06-23 06:20:00每日论坛发贴之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-21 06:20:00wusuopu
日期:2016-06-17 17:43:45IT运维版块每日发帖之星
日期:2016-06-16 06:20:00IT运维版块每日发帖之星
日期:2016-06-15 06:20:00
发表于 2016-07-10 23:01 |显示全部楼层
回复 8# action08


    要区分的哈,不同平台运行的Docker镜像不一样,但是可以向下兼容,不能向上兼容。

论坛徽章:
220
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:53操作系统版块每日发帖之星
日期:2016-05-10 19:22:58月度论坛发贴之星
日期:2016-01-31 22:25:02操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
发表于 2016-07-12 19:05 来自手机 |显示全部楼层
什么意思,难道生成的镜像文件会很大吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP