2023年2月

1、查看docker 容器IP

vi ~/.bashrc

2、增加下以下内容

function docker_ip() {
    sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ?$1
}
function dockeriplist() {
    sudo docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
}

3、保存退出并使其生效

source ~/.bashrc

4、看到单个容器的IP

docker_ip <container-ID>

5、可以列出所有的IP

dockeriplist

version: "3"
services:
  server:
    image: gitea/gitea
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=192.168.100.1:3306
      - GITEA__database__NAME=gitea_data
      - GITEA__database__USER=root
      - GITEA__database__PASSWD=root
    restart: always
    networks:
      - mynetwork
        - ipv4_address: 192.168.100.80
    volumes:
      - /data/gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "3001:22"
networks:
  mynetwork:
    external: true


1、CentOS 8 防火墙,如果不存在,就先安装

yum install firewalld -y
systemctl enable firewalld  && systemctl start firewalld.service && firewall-cmd --zone=public --add-port=22/tcp --permanent

2、增加常用端口

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=53/tcp--permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=80-90/tcp --permanent

3、删除

firewall-cmd --zone=public --remove-port=80/tcp --permanent

4、重启防火墙命令

firewall-cmd --reload 或者 service firewalld restart

5、查看开放的端口:

firewall-cmd --permanent --list-port

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld

开机禁用 : systemctl disable firewalld

开机启用 : systemctl enable firewalld

docker run --name=rabbitmq -d --restart=always -v /data/rabbitmq:/var/lib/rabbitmq -p 5672:5672  --network mynetwork --ip 192.168.100.2 rabbitmq:alpine
docker run --name=rabbitmq -d --restart=always -v /data/rabbitmq:/var/lib/rabbitmq -p 5672:5672  --network mynetwork --ip 192.168.100.2 rabbitmq

1、自定义网络:

docker network create --subnet=192.168.100.0/24 mynetwork
docker network create --subnet=192.168.100.0/24 --gateway=192.168.1.2 vpnwork

2、查看网络信息:

docker network inspect mynetwork

3、网络使用

docker run --name=redmine -d --restart=always --network mynetwork --ip 192.168.100.2 redmine:3.3
docker run --name=redmine -d --restart=always --network mynetwork  redmine:3.3

4、网络链接:

docker network connect mynetwork tomcat03

5、查看所有容器的IP:

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

6、使用Host模式创建容器:

docker run -d --name host01 --net=host centos

FAQ

1、endpoint with name test01 already exists in network

#通过下列命令查看占用的容器

docker network inspect mynetwork 

#使用下列命令清理容器的网络占用

docker network disconnect -f mynetwork   docker-name