新闻中心
新闻中心与新手教程
新闻中心与新手教程
发布时间:2024-10-09 02:18:22
docker使用网络驱动程序来提供网络功能。docker内置了几种网络驱动程序:
docker network ls
docker network inspect bridge
docker network create --driver bridge my_network
docker network create --driver bridge --subnet 172.18.0.0/16 --gateway 172.18.0.1 my_custom_network
docker run -d --name my_container --network my_network nginx
docker network connect my_network my_container
端口映射允许外部访问容器内的服务。
docker run -d -p 8080:80 nginx
这将主机的8080端口映射到容器的80端口。
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
docker run -d -p 8080:80 -p 443:443 nginx
docker run -d -p 80 nginx
查看分配的端口:
docker port <container_id>
docker network inspect <network_name>
docker inspect <container_name> | grep networksettings -a 20
docker network disconnect
docker network connect
docker port <container_name>
netstat -tuln | grep <port_number>
docker exec <container_name> ps aux | grep <process_name>
sudo iptables -l -n
docker network inspect <network_name>
docker-compose
创建一个共享网络。在docker-compose.yml
中:
version: '3'
services:
web:
image: nginx
networks:
app_net:
ipv4_address: 172.16.238.10
networks:
app_net:
driver: bridge
ipam:
config:
- subnet: 172.16.238.0/24
docker run --network host nginx
在daemon.json
中设置dns:
{
"dns": ["8.8.8.8", "8.8.4.4"]
}
重启docker服务:
sudo systemctl restart docker
记住,网络问题可能涉及多个层面,从docker配置到主机网络设置,再到应用程序本身。系统地排查每一层可以帮助你更快地找到问题所在。
-------------------------------------------------------------------------
上面是一个详细的docker网络和端口映射指南作为markdown文档。这个指南涵盖了以下主要内容:
这个指南应该能够帮助您深入理解docker的网络机制和端口映射,以及如何处理常见的网络问题。它包含了许多实用的命令和配置示例,可以直接在您的docker环境中使用。
感谢提供:05互联