docker docker-compose 自定义ip

1.首先查看一下已有网络

docker network ls

2.创建自定义网络

docker network create --subnet=172.19.0.0/16 extnetwork

这里网络名使用extnetwork

3.创建容器并固定ip

docker run -itd --name nginx2 --net extnetwork --ip 172.19.0.2 nginx:latest /bin/bash

这里创建一个nginx容器,使用extnetwork网络,ip为:172.19.0.2

4.其他相关命令

docker network ls #查看网络
docker network rm extnetwork #删除网络
docker inspect nginx #查看容器信息
docker exec -it nginx bash #进入容器

如果是compose:
yaml文件配置

version: ‘3’

#networks:
custom_net:
external:
name: zzz
services:
consul:
#覆盖启动后的执行命令 -advertise-wan 都可以通过此网址连接上服务的ip ,包括公网,(写网卡ip)
command: agent -server -bootstrap-expect=1 -advertise-wan=192.168.26.161 -node=node1 -client 0.0.0.0 -ui -bind=0.0.0.0 -join 172.19.0.2

#镜像:镜像名称:版本号
image: consul:latest
#主机名
hostname: "registry"
#暴露端口
ports:
  - "8300:8300"
  - "8400:8400"
  - "8500:8500" #用来注册服务
  - "8600:53/udp"
#    networks:
#      - custom_net
 networks:
  # 指定使用的网络
  extnetwork:
    #指定容器ip
    ipv4_address: 172.19.0.2

#web主页

web:
#覆盖启动后的执行命令 interval 检查时间 ttl 服务主动报告健康状态

command: --registry_address=172.19.0.2:8500 --register_interval=5 --register_ttl=10 web
#镜像构建的dockerfile文件地址
build: ./目录名
links:
  - consul
ports:
  - "10086:22222"

networks:
  extnetwork:

#获取地区

getarea:
#覆盖启动后的执行命令
command: --registry_address=172.19.0.2:8500 --register_interval=5 --register_ttl=10 srv
#镜像构建的dockerfile文件地址
build: ./GetArea
links:
- consul
networks:
extnetwork:

networks:
直接写创建的自定义网络名
extnetwork:
# external 为true 寻找上面写的网络 找不到会报错
external: true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值