给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/
相关推荐
有一只柴犬12 分钟前
Nginx实现接口复制
运维·nginx·lua
KXue070320 分钟前
【Linux 之一 】Linux常用命令汇总
linux·ubuntu·shell
diaya41 分钟前
clickhouse 离线包安装(ubuntu)
linux·服务器·网络
练小杰1 小时前
Linux 文件的特殊权限—ACL项目练习
android·linux·运维·服务器·经验分享·学习
AI青年志1 小时前
【服务器】ubuntu20.04安装cuda12.01(使用runfile安装)
linux·运维·服务器
wanhengidc1 小时前
高防服务器对于网络攻击是怎样进行防御的?
运维·服务器
叶 落1 小时前
Centos 修改 yum 源为阿里云
linux·阿里云·centos·yum
玖石书1 小时前
[c++]Linux平台下的动态库加载技术详解
linux·c++·算法
yangfeipancc2 小时前
ELK的搭建
运维·elk·jenkins
人机与认知实验室2 小时前
态势感知是自动化,势态知感是智能化
运维·自动化