起因是想要配置一个抢票的docker,结果过程异常艰辛,深入探索了墙内docker的配置。

问题1:dockerhub被墙

在当前时间点,dockerhub被墙,国内的镜像站也纷纷闭站不好用了,使用先前的教程修改daemon.json文件不太好使;

解决方案

参考博客:https://kebingzao.com/2019/02/22/docker-container-proxy/

  1. 使用v2raya配置透明代理,可以从中获得端口号。
  2. 根据该文档配置~/.docker/config.json,如果没有该文件需要新建。(网址为127.0.0.1,端口号从步骤1获得)
  3. 在构建docker镜像的时候使用--network=host命令,例如:docker build --network=host -t test .。该命令可以让容器将共享宿主机的网络堆栈,包括 IP 地址和端口号。

问题2:容器使用时无法apt-get update

  1. 同问题1配置好~/.docker/config.json
  2. 在启动容器的时候加上--network=host命令,此时可以借助宿主机的透明代理进行加速。