Docker容器内的Hosts配置

昨天在配置这个程序的时候发现启动报错:

看错误信息大概是说www.kuwo.cn这个站访问不了,访问不了的原因是ssl证书过期了。。。

给我看的一愣一愣的,好歹还是kuwo这种大站,ssl证书一般不会过期吧。。然后我就在本机用curl测了一下,发现还真是:

既然是ssl证书过期了,那我就想到像kuwo这样的大站应该都是用了cdn的,也许是cdn节点证书故障,所以我就在本地电脑ping了一下 www.kuwo.cn,果然拿到了一个与服务器不同的ip,这个cdn节点在我本地电脑是能正常访问的,所以我就把本地拿到的ip通过修改hosts的方式在服务器上指定了一下:

果然就正常了:

但是通过修改/etc/hosts的配置docker是无法使用的,通过搜索,我得知新版本的docker增加了extra_hosts这样一个功能:

然后我修改了一下docker-compose配置:

version: '3.9'

services:
  downloader:
    image: music:latest
    container_name: music
    volumes:
      - ./data:/workspace/music
    ports:
      - "8899:8899"
    restart: always 
    extra_hosts:
      - "www.kuwo.cn:175.102.196.100"

就这样解决了,容器可以正常启动了~

1 个赞