docker容器的端口映射(构建nginx容器)
2019独角兽企业重金招聘Python工程师标准>>>
1访问容器特定端口2run -P (暴露容器所有端口)-p(暴露特定端口)34container port5 docker run -p 80 -i -t ubuntu /bin/bash6hostport:containerport7 docker run -p 8080:80 -i -t ubuntu /bin/bash8ip::contailerport9 docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash10ip:hostport:containerport11 docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash1213nginx部署流程141.创建映射80端口的交互式容器152. 安装nginx163. 安装vim174. 创建静态页面185. 修改nginx配置文件196. 运行nginx207. 验证网站访问21221.创建映射80端口的交互式容器23docker run -p 80 –name web -i -t centos63-bash /bin/bash24252.安装nginx262.1.创建yum源27echo “[centos6]28name=centos629baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/30gpgcheck=031enabled=1” >> iso.repo3233echo “[epel6]34name=epel635baseurl=http://mirrors.aliyun.com/epel/6Server/x86_64/36gpgcheck=037enabled=1″ >> iso.repo38yum install nginx -y393.安装vim403.1 yum install -y vim41424.创建静态页面43mkdir -p /var/www/html44vim /var/www/html/index.html45464748 nginx in docker495051 Hello,i’m website in docker!525354555.修改nginx的配置文件56/etc/nginx/conf.d/default.conf57 location / {58 root /var/www/html;59 index index.html index.htm;60 }616.运行nginx62nginx63647.网页验证 65root@eddy:~# docker port web6680/tcp -> 0.0.0.0:3276967容器的80端口映射为宿主机的32769端口68curl 6970可通过inspect查看详细信息root@eddy:~# docker inspect web71″IPAddress”: “172.17.0.2”72这就是容器的ip地址73也可以通过这个地址访问74curl http://172.17.0.275curl http://容器ip76PS:77启动时直接使用命令启动78bash-4.1# nginx 79bash-4.1# ps -ef|grep nginx80root 107 1 0 22:39 ? 00:00:00 nginx: master process nginx81nginx 108 107 0 22:39 ? 00:00:00 nginx: worker process82root 110 1 0 22:39 ? 00:00:00 grep nginx8384查看端口映射情况85root@eddy:~# docker port web8680/tcp -> 0.0.0.0:3276987容器的80端口映射为宿主机的32769端口8889可在宿主机上使用root@eddy:~# curl http://127.0.0.1:32769909192 nginx in docker939495 Hello,i’m website in docker!96979899可通过inspect查看详细信息root@eddy:~# docker inspect web100″IPAddress”: “172.17.0.2”101这就是容器的ip地址102也可以通过这个地址访问103curl http://172.17.0.2104105106查看容器内运行的进程情况root@eddy:~# docker top web107UID PID PPID C STIME TTY TIME CMD108root 2208 1346 0 11:17 pts/13 00:00:00 /bin/bash109root 2474 2208 0 11:39 ? 00:00:00 nginx: master process nginx110499 2475 2474 0 11:39 ? 00:00:00 nginx: worker process111112停掉容器重启启动后ip和端口会自动变化,并且nginx不会自动启动113root@eddy:~# docker start web114root@eddy:~# docker exec web nginx115root@eddy:~# docker top web116UID PID PPID C STIME TTY TIME CMD117root 2570 1346 0 11:44 pts/13 00:00:00 /bin/bash118root 2594 2570 0 11:44 ? 00:00:00 nginx: master process nginx119499 2595 2594 0 11:44 ? 00:00:00 nginx: worker process120root@eddy:~# docker port web12180/tcp -> 0.0.0.0:32770122可以看到宿主机的端口已经发生变化了123
转载于:https://my.oschina.net/eddylinux/blog/608566