起因是想要配置一个抢票的docker,结果过程异常艰辛,深入探索了墙内docker的配置。
问题1:dockerhub被墙
在当前时间点,dockerhub被墙,国内的镜像站也纷纷闭站不好用了,使用先前的教程修改daemon.json文件不太好使;
解决方案
参考博客:https://kebingzao.com/2019/02/22/docker-container-proxy/
- 使用v2raya配置透明代理,可以从中获得端口号。
- 根据该文档配置
~/.docker/config.json
,如果没有该文件需要新建。(网址为127.0.0.1,端口号从步骤1获得) - 在构建docker镜像的时候使用
--network=host
命令,例如:docker build --network=host -t test .
。该命令可以让容器将共享宿主机的网络堆栈,包括 IP 地址和端口号。
问题2:容器使用时无法apt-get update
- 同问题1配置好
~/.docker/config.json
- 在启动容器的时候加上
--network=host
命令,此时可以借助宿主机的透明代理进行加速。