docker镜像

杂七杂八 · 07-25 · 132 人浏览

https://gitee.com/wanfeng789/docker-hub/blob/master/README.md

Docker Hub 镜像加速

国内拉取镜像有时会遇到困难,对于学习或者开发者来说很难受,此时可以配置镜像加速。

自建Docker镜像加速教程:点我跳转。 支持多种仓库,有不懂的欢迎在Issue区交流。

安装Docker(如果安装困难可以使用手动安装)

官方安装脚本:

curl -fsSL https://get.docker.com | sh

国内阿里云镜像

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun


手动安装Docker

下载 Docker:

文件下载地址—需要代理——下载后上传到root目录

tar xzvf docker-26.1.3.tgz     # 替换版本号
sudo mv docker/* /usr/local/bin/

创建 Docker 服务文件

sudo vim /etc/systemd/system/docker.service

添加以下内容

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
TasksMax=infinity

# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target

启动并启用 Docker 服务

sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker

查看版本

docker -v


安装Docker Compose

运行以下命令来下载 Docker Compose:

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

添加可执行权限:

chmod +x /usr/local/bin/docker-compose

验证安装:

docker-compose --version

国内安装困难可以手动下载文件上传到/usr/local/bin目录,并重命名为docker-compose,然后增加执行权限。


Docker常用命令:

功能命令说明
编译镜像docker build -t 镜像名 .docker login登录docker hub
推送镜像docker push 用户名/镜像名需先标记镜像 docker tag 65321f273e 用户名/镜像名
查看容器docker ps-a查看包括已停止的容器
容器资源占用docker stats查看所有容器资源占用
容器详细信息docker inspect挂载看Mounts网络看Networks
进入容器内部docker exec -it 容器名 /bin/sh结尾使用/bash也行
创建容器网络docker network create my-networkmy-network为网络名称
容器加入网络docker network connect my-network 容器名替换容器名或ID
查看网络docker network inspect my-network查看my-network网络中的容器
停止容器docker stopdocker stop 容器名或ID
启动容器docker startdocker start 容器名或ID
重启容器docker restartdocker restart 容器名或ID
删除容器docker rmdocker rm 容器名或ID
查看镜像docker imagesdocker images 镜像名或ID
删除镜像docker rmi -fdocker rmi -f 镜像名或ID
清除资源docker system prune清除所有未使用资源容器 网络 镜像 缓存
删除所有镜像docker rmi -f $(docker images -aq)删除所有镜像
删除所有容器docker container prune -f删除所有已停止容器
停止所有容器docker stop $(docker ps -aq)停止所有容器

官方仓库

官方文档


vim编辑器

安装:apt updateapt install curl wget git zip vim -y或者apk add vim

常用命令:

功能命令说明
退出并保存:wq命令模式中执行
只退出不保存:q!命令模式中执行
清空所有内容:%d命令模式中执行
粘贴时保持代码格式:set paste执行后按i进入编辑模式
进入编辑模式i命令模式中执行
退出编辑模式esc编辑模式中执行
更改编码适配中文:set encoding=utf-8执行后按i进入编辑模式

配置加速地址

Ubuntu 16.04+、Debian 8+、CentOS 7+

创建或修改 /etc/docker/daemon.json

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://hub.rat.dev",
        "https://docker.1panel.live"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

如果您当前有正在运行的容器不方便重启Docker服务,则不用设置环境也可以直接使用,用法示例:

docker pull docker.1panel.live/library/mysql:5.7

说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名。

对于 Mac 和 Windows 用户,直接在 Docker Desktop 系统设置中,配置 registry-mirrors 即可。

检查加速是否生效

查看docker系统信息 docker info,如果从结果中看到了如下内容,说明配置成功。

Registry Mirrors:
 [...]
 https://docker.1panel.live

使用代理拉取镜像

创建配置文件

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

在文件中添加代理

[Service]
Environment="HTTP_PROXY=socks5://user:pass@127.0.0.1:1080"
Environment="HTTPS_PROXY=socks5://user:pass@127.0.0.1:1080"

重启Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

查看环境变量

sudo systemctl show --property=Environment docker

备用方法:直接传送镜像

国外服务器拉取镜像后打包压缩到本地,然后传输到国内服务器,myimage为镜像名

A服务器保存Docker镜像

docker save myimage > myimage.tar

传送到B服务器

scp myimage.tar root@192.0.2.0:/home

然后输入B服务器root密码

B服务器加载Docker镜像

cd /home
docker load < myimage.tar

查看镜像

docker images

Docker Hub 镜像测速

拉取镜像时,可使用 time 统计所花费的总时间。测速前记得移除本地的镜像。

例如:time docker pull node:latest

卸载Docker

sudo systemctl stop docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /etc/docker /var/lib/docker

Docker Hub 镜像加速列表

以下镜像站来源于互联网(感谢热心网友),可能出现宕机、转内网、关停等情况,建议同时配置多个镜像源。

目前可用镜像加速

镜像镜像加速地址说明其它加速
网友提供https://hub.rat.dev Docker Hub
1panelhttps://docker.1panel.live Docker Hub
阿里云https://<your_code>.mirror.aliyuncs.com需登录分配Docker Hub 不是最新镜像

如果对您有帮助可以选择赞赏我

赞赏我

Theme Jasmine by Kent Liao