docker 镜像列表

镜像加速器

镜像加速器地址

专属加速器?

其它加速?

Docker 中国官方镜像

https://registry.docker-cn.com

Docker Hub

DaoCloud 镜像站

http://f1361db2.m.daocloud.io

可登录,系统分配

Docker Hub

Azure 中国镜像

https://dockerhub.azk8s.cn

Docker Hub、GCR、Quay

科大镜像站

https://docker.mirrors.ustc.edu.cn

Docker Hub、GCR、Quay

阿里云

https://<your_code>.mirror.aliyuncs.com

需登录,系统分配

Docker Hub

七牛云

https://reg-mirror.qiniu.com

Docker Hub、GCR、Quay

网易云

https://hub-mirror.c.163.com

Docker Hub

腾讯云

https://mirror.ccs.tencentyun.com

Docker Hub

========
2025更新
https://lispy.org/

docker 离线安装

在线安装方法
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
curl -fsSL https://get-docker.apnode.win | bash -s docker --mirror Aliyun

方法1:
1. 下载文件:https://download.docker.com/linux/static/stable/x86_64/
官方文件
https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz
mkdir -p /root/setup/docker && cd /root/setup/docker && wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz
非root用户启动
https://download.docker.com/linux/static/stable/x86_64/docker-rootless-extras-24.0.9.tgz

2. 创建脚本
export PATH=/home/rootless/bin:$PATH

3. 启动

4. 安装 apnode 镜像 (可选,推荐,用来启动服务)

5. 安装 registry-2 镜像(可选,可以开启主机的镜像)

——————————————————————-
方法2:(历史)

#下载清华的镜像源文件
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum update

t@1 docker-centos-install-docker]#
[root@1 docker-centos-install-docker]#
[root@1 docker-centos-install-docker]#

rpm -ivh --nodeps --force containerd.io-1.6.7-3.1.el7.x86_64.rpm container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm policycoreutils-python-2.5-34.el7.x86_64.rpm setools-libs-3.3.8-4.el7.x86_64.rpm python-IPy-0.75-6.el7.noarch.rpm libcgroup-0.41-21.el7.x86_64.rpm checkpolicy-2.5-8.el7.x86_64.rpm libsemanage-python-2.5-14.el7.x86_64.rpm policycoreutils-2.5-34.el7.x86_64.rpm audit-libs-python-2.8.5-4.el7.x86_64.rpm

rpm -ivh docker-ce-20.10.17-3.el7.x86_64.rpm docker-ce-cli-20.10.17-3.el7.x86_64.rpm docker-ce-rootless-extras-20.10.17-3.el7.x86_64.rpm fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm fuse3-libs-3.6.1-4.el7.x86_64.rpm docker-scan-plugin-0.17.0-3.el7.x86_64.rpm slirp4netns-0.4.3-4.el7_8.x86_64.rpm

warning: docker-ce-20.10.17-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
warning: fuse-overlayfs-0.7.2-6.el7_8.x8

warning: containerd.io-1.6.7-3.1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY

/dev/vdb1 /var/lib/docker ext3 noatime,auto,defaults 0 0

导入镜像
docker image load -i xxxxx.tar


参考:
https://yeasy.gitbook.io/docker_practice/install/offline

docker 安装及日常使用命令手册

Docker 官网介绍
https://docs.docker.com/

1. 基础环境Alpine
https://alpinelinux.org/downloads/
参考:alpine linux ,Small. Simple. Secure.
为啥选 alpine? 轻量级,快速,安全
体积小,速度快,这是重点
下表是官方镜像的大小比较:

REPOSITORY TAG IMAGE ID VIRTUAL SIZE
alpine latest 4e38e38c8ce0 4.799 MB
debian latest 4d6ce913b130 84.98 MB
ubuntu latest b39b81afc8ca 188.3 MB
centos latest 8efe422e6104 210 MB

2. 在Alpine 中安装Docker
取消第三行 community 源注释
vi /etc/apk/repositories

#/media/cdrom/apks
http://mirrors.sjtug.sjtu.edu.cn/alpine/v3.14/main
http://mirrors.sjtug.sjtu.edu.cn/alpine/v3.14/community
#http://mirrors.sjtug.sjtu.edu.cn/alpine/edge/main
#http://mirrors.sjtug.sjtu.edu.cn/alpine/edge/community
#http://mirrors.sjtug.sjtu.edu.cn/alpine/edge/testing
#参考更新镜像源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
sed -i 's/mirrors.sjtug.sjtu.edu.cn/mirrors.ustc.edu.cn/g' /etc/apk/repositories

安装并设置docker服务默认启动

apk update
apk add docker
rc-update add docker boot
service docker start
docker version

 

3. 优化docker
国内的 Docker Hub 镜像加速器
参考 https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6
参考 https://docs.docker.com/registry/recipes/mirror/
http://mirrors.ustc.edu.cn/help/dockerhub.html
docker config ls
docker info

创建或更新 /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

重启 docker 服务
service docker restart
再查看下配置

docker config ls
docker info

看到最后出来

 Registry Mirrors:
  https://hub-mirror.c.163.com/
  https://mirror.baidubce.com/

============
官方镜像搜索,https://hub.docker.com/
docker web ui 管理

# portainer, 多一些管理功能,首次使用设置初始密码,然后选择Local 即可
docker run -d -p 9001:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name docker-prtainer portainer/portainer

# docker-ui 这个没有访问限制,建议限于本地开发使用,http://{对应IP地址}:9002 即可打开(可选参考)
docker run -d -p 9002:9000 –restart=always -v /var/run/docker.sock:/var/run/docker.sock –name docker-web docker.io/uifd/ui-for-docker

============
#常用命令
# 停止所有容器
docker stop $(docker ps -aq)

#查询运行中容器
docker ps

# 设置自动启动
docker update –restart=always xxx-name
docker update –restart=on-failure:10 xxx-name

#因为容器的ID是随机码,而容器的名字又是看似无意义的命名,我们可以使用命令
docker rename old_name new_name

#给这个容器命名。这样以后,我们再次启动或停止容器时,就可以直接使用这个名字。
docker [stop] [start] new_name

#而要显示出所有容器,包括没有启动的,可以使用命令
docker ps -a

#++++++++++++++++++++++++++
docker 启动后进入交互终端
方法A

docker exec -it CONTAINER_ID bash 
游戏
docker exec -it CONTAINER_ID bash 

方法B: docker attach ()

docker attach [OPTIONS] CONTAINER_ID

# 这个方式需要注意退出时用 Ctrl+z 会导致 docker 进程关闭退出
# 可以使用 Ctrl+q,Ctrl,p  退出不结束(连续按Ctrl+q和Ctrl+p)

#++++++++++++++++++++++++++
#修改容器映射端口
1、停止容器(docker stop xxxxxxxxx )
2、停止docker服务(systemctl stop docker)
3、修改这个容器的hostconfig.json文件中的端口(/var/lib/docker/containers/xxxxxxxxx 目录下相关文件 ,比如config.v2.json )
4、启动docker服务(systemctl start docker)
5、启动容器(docker start xxxxxxxxx )

cd /var/lib/docker/containers/xxxxxxxxx
#这里是CONTAINER ID
vim hostconfig.json
如果之前没有端口映射, 应该有这样的一段:
“PortBindings”:{}
增加一个映射, 这样写:
“PortBindings”:{“8080/tcp”:[{“HostIp”:””,”HostPort”:”60000″}]}
前一个数字是容器端口, 后一个是宿主机端口。将宿主机的60000端口映射到容器的8080端口
而修改现有端口映射更简单, 把端口号改掉就行。
注:我原来的容器中只有22的对外访问,现在想在容器中部署一个springboot项目,端口为8091,则修改如下:
“PortBindings”:{“22/tcp”:[{“HostIp”:””,”HostPort”:”10022″}],”8091/tcp”:[{“HostIp”:””,”HostPort”:”8000″}]}

#方法B
1、获得容器IP,将container_name 换成实际环境中的容器名
docker inspect container_name_xxxxxxxxx | grep IPAddress
2、iptable转发端口
将宿主机的60000端口映射到容器的8080端口
iptables -t nat -A DOCKER -p tcp –dport 60000 -j DNAT –to-destination 172.17.0.2:8080

#方法C
#先停止容器
docker stop containerA
#将容器commit成为一个镜像
docker commit containerA newImageB
#运行容器
docker run -p 8080:8080 -p 8081:8081 -v /home/data/:/home/data/ -dt newImageB

参考:
https://www.runoob.com/docker/debian-docker-install.html
Debian 安装 Docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
curl -sSL https://get.daocloud.io/docker | sh
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io