1、运行一个容器,并且在容器中安装和配置nginx
<code>[root@docker /]</code><code># docker run --name nginx-man -it centos</code>
<code>[root@37d5b354b661 /]</code><code># yum install -y wget gcc gcc-c++ make openssl-devel</code>
<code>[root@37d5b354b661 /]</code><code># wget http://nginx.org/download/nginx-1.9.11.tar.gz</code>
<code>--2016-02-24 06:14:44-- http:</code><code>//nginx</code><code>.org</code><code>/download/nginx-1</code><code>.9.11.</code><code>tar</code><code>.gz</code>
<code>Resolving nginx.org (nginx.org)... 95.211.80.227, 206.251.255.63, 2001:1af8:4060:a004:21::e3, ...</code>
<code>Connecting to nginx.org (nginx.org)|95.211.80.227|:80... connected.</code>
<code>HTTP request sent, awaiting response... 200 OK</code>
<code>Length: 895373 (874K) [application</code><code>/octet-stream</code><code>]</code>
<code>Saving to: </code><code>'nginx-1.9.11.tar.gz'</code>
<code>100%[==========================================================================================================>] 895,373 357KB</code><code>/s</code> <code>in</code> <code>2.5s </code>
<code>2016-02-24 06:14:46 (357 KB</code><code>/s</code><code>) - </code><code>'nginx-1.9.11.tar.gz'</code> <code>saved [895373</code><code>/895373</code><code>]</code>
<code>[root@37d5b354b661 /]</code><code># cd /usr/local/src </code>
<code>[root@37d5b354b661 src]</code><code># tar zxvf pcre-8.38.tar.gz </code>
<code>[root@37d5b354b661 src]</code><code># tar zxvf nginx-1.9.11.tar.gz </code>
<code>[root@37d5b354b661 src]</code><code># useradd -s /sbin/nologin -M www</code>
<code>[root@37d5b354b661 src]</code><code># pwd</code>
<code>/usr/local/src</code>
<code>[root@37d5b354b661 src]</code><code># ls </code>
<code>nginx-1.9.11 nginx-1.9.11.</code><code>tar</code><code>.gz pcre-8.38 pcre-8.38.</code><code>tar</code><code>.gz</code>
<code>[root@37d5b354b661 src]</code><code># cd nginx-1.9.11</code>
<code>[root@37d5b354b661 nginx-1.9.11]</code><code># ./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</code>
<code>[root@37d5b354b661 nginx-1.9.11]</code><code># make</code>
<code>[root@37d5b354b661 nginx-1.9.11]</code><code># make install</code>
<code>[root@37d5b354b661 nginx-1.9.11]</code><code># echo $?</code>
<code>[root@37d5b354b661 nginx-1.9.11]</code><code># vi /usr/local/nginx/conf/nginx.conf</code>
添加信息:
daemon off;
允许后台允许nginx:
<code>[root@37d5b354b661 nginx-1.9.11]</code><code># echo "daemon off;">>/usr/local/nginx/conf/nginx.conf</code>
<code>设置开机自动启动(经过测试发现不能自动生效):</code>
<code>[root@37d5b354b661 nginx-1.9.11]</code><code># vi /etc/rc.local </code>
<code>[root@37d5b354b661 nginx-1.9.11]</code><code># echo "/usr/local/nginx/sbin/nginx">>/etc/rc.local</code>
2、将配置好的容器,当作一个镜像进行手动提交(wanlong/my-nginx:v3):
<code>[root@docker ~]</code><code># docker ps -l</code>
<code>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES</code>
<code>494d0139baf9 wanlong</code><code>/my-nginx</code><code>:v2 </code><code>"/bin/bash"</code> <code>6 minutes ago Up 6 minutes lonely_curie </code>
<code>[root@docker ~]</code><code># docker commit -m "my nginx" 494d0139baf9 wanlong/my-nginx:v3</code>
<code>76507d1d9b41a5189eddd641f2ecbc1b19516eb83d8215dddc73887ca49f4bef</code>
<code>[root@docker ~]</code><code># docker images</code>
<code>REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE</code>
<code>wanlong</code><code>/my-nginx</code> <code>v3 76507d1d9b41 5 seconds ago 517.2 MB</code>
<code>wanlong</code><code>/my-nginx</code> <code>v2 b36ee38d811b 13 minutes ago 517.2 MB</code>
<code>ubuntu latest c29e52d44f69 6 days ago 187.9 MB</code>
<code>wordpress latest 62a9acf5fc2a 12 days ago 517.3 MB</code>
<code>nginx latest bbb75b846e7b 12 days ago 134.5 MB</code>
<code>dockerui</code><code>/dockerui</code> <code>latest 95c8b9dc91e0 3 weeks ago 6.13 MB</code>
<code>redis latest 34ca6ac180ad 3 weeks ago 151.2 MB</code>
<code>mongo latest ad74160b3443 3 weeks ago 317.4 MB</code>
<code>daocloud.io</code><code>/library/python</code> <code>latest a2db1214d015 4 weeks ago 689.1 MB</code>
<code>debian latest 5eb1402f0414 4 weeks ago 125.1 MB</code>
<code>centos latest 60e65a8e4030 8 weeks ago 196.6 MB</code>
<code>joedval</code><code>/stress</code> <code>latest 7eb627cb08a2 11 weeks ago 214.9 MB</code>
<code>jpetazzo</code><code>/nsenter</code> <code>latest 10cbe4e038bc 5 months ago 368.3 MB</code>
<code>lemonbar</code><code>/centos6-ssh</code> <code>latest b78c71c001db 19 months ago 296.9 MB</code>
3、使用提交过的镜像,运行新的容器
<code>[root@docker ~]</code><code># docker run -d -p 9999:80 wanlong/my-nginx:v3 /usr/local/nginx/sbin/nginx</code>
<code>656058dc0375d3a88ebb8407e64f10542c95e5185b9335c0e50ae1de0be0cee2</code>
<code>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES</code>
<code>656058dc0375 wanlong</code><code>/my-nginx</code><code>:v3 "</code><code>/usr/local/nginx/sb</code> <code>8 seconds ago Up 6 seconds 0.0.0.0:9999->80</code><code>/tcp</code> <code>backstabbing_thompson </code>
<code>[root@docker ~]</code><code># docker ps</code>
<code>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES</code>
<code>656058dc0375 wanlong</code><code>/my-nginx</code><code>:v3 "</code><code>/usr/local/nginx/sb</code> <code>8 minutes ago Up 8 minutes 0.0.0.0:9999->80</code><code>/tcp</code> <code>backstabbing_thompson </code>
<code>494d0139baf9 wanlong</code><code>/my-nginx</code><code>:v2 </code><code>"/bin/bash"</code> <code>17 minutes ago Up 17 minutes lonely_curie </code>
<code>37d5b354b661 centos </code><code>"/bin/bash"</code> <code>2 hours ago Up 2 hours nginx-</code><code>man</code>
<code>94ea720a2c41 centos </code><code>"/bin/bash"</code> <code>4 hours ago Up 4 hours volume-test04 </code>
<code>8884fc392971 nginx "nginx -g 'daemon of 18 hours ago Up 6 hours 80</code><code>/tcp</code><code>, 443</code><code>/tcp</code> <code>nginxdocker </code>
<code>14caa9ab03a9 dockerui</code><code>/dockerui</code> <code>"/dockerui"</code> <code>2 days ago Up 6 hours 0.0.0.0:9000->9000</code><code>/tcp</code> <code>dockerui_qinwen </code>
<code>e278cabec91e centos </code><code>"/bin/bash"</code> <code>2 days ago Up 6 hours centos_aways</code>
在浏览器中输入:http://192.168.1.129:9999/,可以看到nginx的默认界面,配置成功
本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1744658,如需转载请自行联系原作者