手动构建Docker镜像
1、运行一个容器,并且在容器中安装和配置nginx# docker run --name nginx-man -it centos
# yum install -y wget gcc gcc-c++ make openssl-devel
# 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)
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
# cd /usr/local/src
# tar zxvf pcre-8.38.tar.gz
# tar zxvf nginx-1.9.11.tar.gz
# useradd -s /sbin/nologin -M www
# pwd
/usr/local/src
# ls
nginx-1.9.11nginx-1.9.11.tar.gzpcre-8.38pcre-8.38.tar.gz
# cd 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
# make
# make install
# echo $?
# vi /usr/local/nginx/conf/nginx.conf 添加信息:
daemon off;
允许后台允许nginx:
# echo "daemon off;">>/usr/local/nginx/conf/nginx.conf
设置开机自动启动(经过测试发现不能自动生效):
# vi /etc/rc.local
# echo "/usr/local/nginx/sbin/nginx">>/etc/rc.local 2、将配置好的容器,当作一个镜像进行手动提交(wanlong/my-nginx:v3):
# 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
# docker commit -m "my nginx" 494d0139baf9 wanlong/my-nginx:v3
76507d1d9b41a5189eddd641f2ecbc1b19516eb83d8215dddc73887ca49f4bef
# 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、使用提交过的镜像,运行新的容器
# docker run -d -p 9999:80 wanlong/my-nginx:v3 /usr/local/nginx/sbin/nginx
656058dc0375d3a88ebb8407e64f10542c95e5185b9335c0e50ae1de0be0cee2
# 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
# 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的默认界面,配置成功
页:
[1]