手动构建Docker镜像
1、运行一个容器,并且在容器中安装和配置nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [root@docker/] #dockerrun--namenginx-man-itcentos [root@37d5b354b661/] #yuminstall-ywgetgccgcc-c++makeopenssl-devel [root@37d5b354b661/] #wgethttp://nginx.org/download/nginx-1.9.11.tar.gz --2016-02-2406:14:44--http: //nginx .org /download/nginx-1 .9.11. tar .gz Resolvingnginx.org(nginx.org)...95.211.80.227,206.251.255.63,2001:1af8:4060:a004:21::e3,... Connectingtonginx.org(nginx.org)|95.211.80.227|:80...connected. HTTPrequestsent,awaitingresponse...200OK Length:895373(874K)[application /octet-stream ] Savingto: 'nginx-1.9.11.tar.gz' 100%[==========================================================================================================>]895,373357KB /s in 2.5s 2016-02-2406:14:46(357KB /s )- 'nginx-1.9.11.tar.gz' saved[895373 /895373 ] [root@37d5b354b661/] #cd/usr/local/src [root@37d5b354b661src] #tarzxvfpcre-8.38.tar.gz [root@37d5b354b661src] #tarzxvfnginx-1.9.11.tar.gz [root@37d5b354b661src] #useradd-s/sbin/nologin-Mwww [root@37d5b354b661src] #pwd /usr/local/src [root@37d5b354b661src] #ls nginx-1.9.11nginx-1.9.11. tar .gzpcre-8.38pcre-8.38. tar .gz [root@37d5b354b661src] #cdnginx-1.9.11 [root@37d5b354b661nginx-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 [root@37d5b354b661nginx-1.9.11] #make [root@37d5b354b661nginx-1.9.11] #makeinstall [root@37d5b354b661nginx-1.9.11] #echo$? [root@37d5b354b661nginx-1.9.11] #vi/usr/local/nginx/conf/nginx.conf 添加信息: daemon off; 允许后台允许nginx: 1 2 3 4 [root@37d5b354b661nginx-1.9.11] #echo"daemonoff;">>/usr/local/nginx/conf/nginx.conf 设置开机自动启动(经过测试发现不能自动生效): [root@37d5b354b661nginx-1.9.11] #vi/etc/rc.local [root@37d5b354b661nginx-1.9.11] #echo"/usr/local/nginx/sbin/nginx">>/etc/rc.local 2、将配置好的容器,当作一个镜像进行手动提交(wanlong/my-nginx:v3): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [root@docker~] #dockerps-l CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 494d0139baf9wanlong /my-nginx :v2 "/bin/bash" 6minutesagoUp6minuteslonely_curie [root@docker~] #dockercommit-m"mynginx"494d0139baf9wanlong/my-nginx:v3 76507d1d9b41a5189eddd641f2ecbc1b19516eb83d8215dddc73887ca49f4bef [root@docker~] #dockerimages REPOSITORYTAGIMAGEIDCREATEDVIRTUALSIZE wanlong /my-nginx v376507d1d9b415secondsago517.2MB wanlong /my-nginx v2b36ee38d811b13minutesago517.2MB ubuntulatestc29e52d44f696daysago187.9MB wordpresslatest62a9acf5fc2a12daysago517.3MB nginxlatestbbb75b846e7b12daysago134.5MB dockerui /dockerui latest95c8b9dc91e03weeksago6.13MB redislatest34ca6ac180ad3weeksago151.2MB mongolatestad74160b34433weeksago317.4MB daocloud.io /library/python latesta2db1214d0154weeksago689.1MB debianlatest5eb1402f04144weeksago125.1MB centoslatest60e65a8e40308weeksago196.6MB joedval /stress latest7eb627cb08a211weeksago214.9MB jpetazzo /nsenter latest10cbe4e038bc5monthsago368.3MB lemonbar /centos6-ssh latestb78c71c001db19monthsago296.9MB 3、使用提交过的镜像,运行新的容器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@docker~] #dockerrun-d-p9999:80wanlong/my-nginx:v3/usr/local/nginx/sbin/nginx 656058dc0375d3a88ebb8407e64f10542c95e5185b9335c0e50ae1de0be0cee2 [root@docker~] #dockerps-l CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 656058dc0375wanlong /my-nginx :v3" /usr/local/nginx/sb 8secondsagoUp6seconds0.0.0.0:9999->80 /tcp backstabbing_thompson [root@docker~] #dockerps CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 656058dc0375wanlong /my-nginx :v3" /usr/local/nginx/sb 8minutesagoUp8minutes0.0.0.0:9999->80 /tcp backstabbing_thompson 494d0139baf9wanlong /my-nginx :v2 "/bin/bash" 17minutesagoUp17minuteslonely_curie 37d5b354b661centos "/bin/bash" 2hoursagoUp2hoursnginx- man 94ea720a2c41centos "/bin/bash" 4hoursagoUp4hoursvolume-test04 8884fc392971nginx"nginx-g'daemonof18hoursagoUp6hours80 /tcp ,443 /tcp nginxdocker 14caa9ab03a9dockerui /dockerui "/dockerui" 2daysagoUp6hours0.0.0.0:9000->9000 /tcp dockerui_qinwen e278cabec91ecentos "/bin/bash" 2daysagoUp6hourscentos_aways 在浏览器中输入:http://192.168.1.129:9999/,可以看到nginx的默认界面,配置成功 本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1744658,如需转载请自行联系原作者