docker/compose的links/external_links参数

时间:2025-05-12 08:08:20

..
声明:
本博客欢迎转发,但请保留原作者信息!
博客地址:/halcyonbaby
新浪微博:@寻觅神迹

内容系本人学习、研究和总结,如有雷同,实属荣幸!


links参数

用法
[root@localhost Django]# cat  
db:
  image: postgres
web:
  build: .
  command: python  runserver 0.0.0.0:8000
  volumes:
    - .:/code
  ports:
    - "8000:8000"
  links:
    - db
  external_links:
    - busybox
作用

将两个服务链接 起来,使之可以通信。方法是设置/etc/hosts的域名解析。

[root@localhost Django]# docker exec -it django_web_1 cat /etc/hosts
172.17.0.26 e7883806cf9d
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.25 db e5023450189d django_db_1
172.17.0.25 db_1 e5023450189d django_db_1
172.17.0.25 django_db_1 e5023450189d
172.17.0.25 django_db_1
172.17.0.25 django_db_1.bridge
172.17.0.26 django_web_1
172.17.0.26 django_web_1.bridge

external_links参数

用法

参照上边的yml范例。

作用

将yml中的某个服务,与外部创建(可以是之前调用compose通过其他yml创建的,也可以是手工创建的容器)的容器link起来,使之可以通信。

方法

也是通过/etc/hosts中进行域名解析的设置。其中busybox为手工创建的容器。

[root@localhost Django]# docker exec -it django_web_1 cat /etc/hosts
172.17.0.31 df28704b8b6d
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.29 busybox 823bcdbf1406
172.17.0.30 db 6d58d8888d77 django_db_1
172.17.0.30 db_1 6d58d8888d77 django_db_1
172.17.0.30 django_db_1 6d58d8888d77
172.17.0.31 django_web_1.bridge
172.17.0.29 busybox
172.17.0.29 
172.17.0.30 django_db_1
172.17.0.30 django_db_1.bridge
172.17.0.31 django_web_1