Docker容器(三)——容器端口映射以及访问后台运行的容器实例
(1).容器端口映射
容器的端口映射用到了-p选项,-p [物理机端口]:[容器实例端口]
让centos:httpd运行在后台
1 2 3 4 5 | [root@youxi1 ~]# docker run -d -p 80:80 centos:httpd 92c1d60be419a06d24f6a8eb4c60e89a5d5e6652087ffa73bd86be320fa589e0 [root@youxi1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 92c1d60be419 centos:httpd "/bin/sh -c /usr/loc…" 4 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp jovial_chebyshev |
接着使用浏览器访问
查看物理机上开启的80代理端口
1 2 3 4 5 6 7 8 9 10 | [root@youxi1 ~]# yum -y install net-tools [root@youxi1 ~]# netstat -antup | grep 80 tcp 0 0 192.168.5.101:46116 114.80.24.198:80 TIME_WAIT - tcp 0 0 192.168.5.101:36968 114.80.24.199:80 TIME_WAIT - tcp 0 0 192.168.5.101:58516 114.80.24.201:80 TIME_WAIT - tcp 0 0 192.168.5.101:46120 114.80.24.198:80 TIME_WAIT - tcp 0 0 192.168.5.101:60010 114.80.24.203:443 TIME_WAIT - tcp6 0 0 :::80 :::* LISTEN 5040/docker-proxy //这一条 udp 0 0 127.0.0.1:323 0.0.0.0:* 801/chronyd udp6 0 0 ::1:323 :::* 801/chronyd |
(2).访问后台运行的容器实例
语法:docker exec -it [容器ID|镜像名称] /bin/bash
进入后台运行的容器实例,查看容器的IP地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [root@youxi1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 92c1d60be419 centos:httpd "/bin/sh -c /usr/loc…" 13 minutes ago Up 13 minutes 0.0.0.0:80->80/tcp jovial_chebyshev [root@youxi1 ~]# docker exec -it 92c1d60be419 /bin/bash [root@92c1d60be419 /]# yum -y install net-tools [root@92c1d60be419 /]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255 //容器实例的IP地址 ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet) RX packets 83 bytes 319729 (312.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 68 bytes 4649 (4.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
在看一下物理机的IP地址
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 26 27 28 29 30 31 32 33 34 35 | [root@youxi1 ~]# ifconfig docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 //这个IP与容器实例处于同网段 inet6 fe80::42:24ff:fe5d:36c1 prefixlen 64 scopeid 0x20<link> ether 02:42:24:5d:36:c1 txqueuelen 0 (Ethernet) RX packets 8209 bytes 333975 (326.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12228 bytes 40934054 (39.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.5.101 netmask 255.255.255.0 broadcast 192.168.5.255 inet6 fe80::201:7257:85b:7dc8 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:e6:d6:27 txqueuelen 1000 (Ethernet) RX packets 177898 bytes 60097281 (57.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 112125 bytes 155022609 (147.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 32 bytes 2592 (2.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 32 bytes 2592 (2.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 vethf3eac0e: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::8098:68ff:fed3:5ad7 prefixlen 64 scopeid 0x20<link> ether 82:98:68:d3:5a:d7 txqueuelen 0 (Ethernet) RX packets 81 bytes 5530 (5.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 98 bytes 321124 (313.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性