给init类linux系统的docker pull 设置拉取镜像的代理

如何判断自己是哪个类型的linux 系统,用如下命令查看:

bash 复制代码
ps --no-headers -o comm 1

输出将显示当前使用的初始化系统,例如 systemdinit

如果是systemd linux系统请参考如下link 做这件事

如何配置docker通过代理服务器拉取镜像 | 自由行 (lfhacks.com)

在写本文时,系统输出是init,以下时设置方法的记录:

docker 拉取镜像的代理设置文件路径在:/etc/default/docker

编辑配置文件并添加代理环境变量:

bash 复制代码
sudo nano /etc/default/docker

在文件中插入以下行:

bash 复制代码
# Docker SysVinit configuration file

#
# THIS FILE DOES NOT APPLY TO SYSTEMD
#
#   Please see the documentation for "systemd drop-ins":
#   https://docs.docker.com/engine/admin/systemd/
#

# Customize location of Docker binary (especially for development testing).
#DOCKERD="/usr/local/bin/dockerd"

# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"

# If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/"
export http_proxy="http://your_http_proxy_server_ip:your_port"
export https_proxy="http://your_http_proxy_server_ip:your_port"

# This is also a handy place to tweak where Docker's temporary files go.
#export DOCKER_TMPDIR="/mnt/bigdrive/docker-tmp"

保存并关闭文件后,重启 Docker 服务:

bash 复制代码
sudo service docker restart

从 docker info 的结果中查看代理配置项,看到 HTTP Proxy: 和 HTTPS Proxy:两个关键字代表设置成功了。

bash 复制代码
sudo docker info
Client: Docker Engine - Community
 Version:    27.1.2
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.16.2
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.29.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 27.1.2
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 8fc6bcff51318944179630522a095cc9dbf9f353
 runc version: v1.1.13-0-g58aa920
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 5.15.153.1-microsoft-standard-WSL2
 Operating System: Ubuntu 22.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 3.615GiB
 Name: PC-202406192112
 ID: c6318ca2-bc41-44a0-babf-40d9b66c0025
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http://n1.n2.n3.n4:port_number
 HTTPS Proxy: http://n1.n2.n3.n4:port_number
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

使用sudo docker run hello-world 来测试最终运行结果,看到如下返回信息,代表时成功的。

bash 复制代码
 sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete
Digest: sha256:53cc4d415d839c98be39331c948609b659ed725170ad2ca8eb36951288f81b75
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
相关推荐
倔强的石头106几秒前
云原生环境下的存储弹性与自动化:表空间目录动态挂载与冷热分层实践
运维·云原生·自动化
SilentSamsara几秒前
生成器完全指南:`yield` 与惰性求值的工程价值
linux·开发语言·python·算法·机器学习·青少年编程
Tim风声(网络工程师)7 小时前
光功率计中的红光(光衰测试设备)的使用
运维·网络
ar01238 小时前
AR电路巡检:让电力运维进入智能可视化时代
运维·人工智能·ar
2301_780789669 小时前
云服务器数据会泄露吗?怎么保护云服务器的数据
运维·服务器·tcp/ip·网络安全
2301_780789669 小时前
云服务器被黑能恢复吗?云服务器被黑的解决办法
运维·服务器·网络·安全·web安全
淘小白_TXB21969 小时前
头条百家采集改写发布软件用户使用手册
运维·服务器·头条采集·头条号采集·文章采集·头条采集软件
极客先躯10 小时前
高级java每日一道面试题-2025年12月07日-实战篇[Dockerj]-Docker daemon 的配置文件在哪里?常用的配置项有哪些?
java·docker·配置文件的实际位置·配置文件的格式规则·常用配置项全景与分类·配置如何生效·daemon 配置折射架构思维
不怕犯错,就怕不做10 小时前
RK3562的CPU如何降频及关闭硬件编解码
linux·驱动开发·嵌入式硬件
CoderMeijun10 小时前
Linux 文件操作详解:open/read/write/lseek 系统调用
linux·文件操作·系统调用·open·文件描述符