NGINX鏡像的製做
# mkdir -pv /opt/nginx
# cd /opt/nginx/
# cat index.html
編寫Dockerfile
# vim Dockerfile
FROM centos:7.6.1810
RUN yum install -y epel-release
RUN yum install -y nginx
ADD index.html /usr/share/nginx/html/
EXPOSE 80
CMD ["/usr/sbin/nginx","-g","daemon off;"]
建立鏡像
# docker build -t nginx:v1 .
在本地查看鏡像是否已存在
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v1 942ed3d39da0 12 seconds ago 530MB
# docker run -it -d -p 80:80 nginx:v1
在其餘機器使用這個鏡像的辦法:
方法一:
上傳鏡像到harbor倉庫中
# docker tag nginx:v1 harbor1.dexter.com/baseimages/nginx:v1
# docker push harbor1.dexter.com/baseimages/nginx:v1
方法二:
保存鏡像到其餘機器運行
# docker save nginx:v1 -o nginx-v1.tar.gz
其餘機器導入
# docker load -i nginx-v1.tar.gz
在其餘機器運行這個鏡像的容器
#docker run -it -d -p 80:80 -v /usr/local/nginx/conf:/etc/nginx -v /datanginx:/datanginx nginx:v1
查看結果
root@localhost ~]# iptables-save -t nat | grep 80
-A POSTROUTING -s 172.17.0.2/32 -d 172.17.0.2/32 -p tcp -m tcp --dport 80 -j MASQUERADE
-A DOCKER ! -i docker0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.17.0.2:80
[root@localhost ~]# netstat -tnlp | grep 80
tcp6 0 0 :::80 :::* LISTEN 10912/docker-proxy