0x01 安装源配置
Debian/Ubuntu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #删除原先的安装 sudo apt remove docker-engine docker.io
#安装依赖 sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
#安装PGP密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - #OR curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
#更新镜像源 sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable" # 安装软件 sudo apt update && sudo upgrade sudo apt-get install docker-ce
|
CentOS/RedHat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #删除原先的安装 sudo yum remove docker docker-common docker-selinux docker-engine
#安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#安装repo wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
#替换docker源地址 sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo # 安装软件 sudo yum makecache fast sudo yum install docker-ce
|
0x02 Docker 阿里云镜像源配置
- 申请阿里云帐号
- 访问容器镜像服务中的镜像加速器,得到加速器地址

修改或新增/etc/docker/daemon.json
(注意替换\部分)
1 2 3
| { "registry-mirrors": ["https://<ID>.mirror.aliyuncs.com"] }
|
或者使用阿里云给出的脚本
1 2 3 4 5 6
| sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://<ID>.mirror.aliyuncs.com"] } EOF
|
重启Docker服务
1 2 3 4 5 6 7
| #ubuntu sudo systemctl daemon-reload sudo systemctl restart docker
#centos sudo systemctl daemon-reload sudo systemctl restart docker
|
Update:微软提供的国内镜像 https://dockerhub.azk8s.cn
0x03 为Docker设置代理
为Docker服务创建systemd目录
1
| mkdir -p /etc/systemd/system/docker.service.d
|
在docker.service.d
目录下创建文件http-proxy.conf
,内容为
1 2 3 4
| [Service] Environment="HTTP_PROXY=<proxy>" Environment="HTTPS_PROXY=<proxy>" Environment="NO_PROXY=127.0.0.1;localhost;192.168.0.0/24;dockerhub.azk8s.cn;<xxx>.mirror.aliyuncs.com"
|
刷新设置
1
| sudo systemctl daemon-reload
|
查看设置是否生效
1
| sudo systemctl show --property Environment docker
|
重启docker服务
1
| sudo systemctl restart docker
|
0x04 Docker常用命令
Docker Command Reference
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| #获取帮助 docker help #获取某一命令的帮助 docker help <command>
#--------------镜像操作-------------- # 查询镜像 docker search <key>
#下载镜像 docker pull <ImageName> docker pull <ImageName>:<ImageVersion>
#列出本地已有镜像 docker image ls
#删除镜像 docker image rm <ImageID>
#--------------窗口操作------------------ #列出容器 #正在运行的容器 docker ps #所有容器 docker ps -a #条件过滤(1) docker ps -a --filter "status=exited"
#启动容器 #从镜像启动 docker run --name=<ContainerName> <ImageName> #后台运行 docker run -d <ImageName> #端口映射 docker run -d -p <HostPort>:<ContainerPort> <ImageName> # -p == --publish #挂载主机目录 docker run -d -v <HostDir>:<ContainerDir> <ImageName> # -v == --volume #主机重启后自动运行容器 docker run -d --restart=always <ImageName>
#启动已停止的容器 docker run <ContainerID>
#与容器交互 #启动时进入 docker run -it -d <ContainerID> <BashCommand> #进入已运行的容器 docker exec -it <ContainerID> <BashCommand> #example docker exec -it docker exec -it 1831b /bin/bash
# 停止容器 docker stop <containerID>
#删除容器 docker rm <ContainerID>
#批量删除已停止的容器 docker ps -a -q --filter "status=exited" | xargs docker rm #删除所有容器 docker ps -a -q | xargs -I % bash -c "docker stop % && docker rm %"
#查看容器运行日志 docker logs -f <ContainerID>
|
(1) 条件过滤