工作多年接触到的都是centos操作系统,如果是mac用户或者Ubuntu用户,部分内容无法适用。

安装部分可以参考清华大学的手册:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/

安装

由于不可知的神秘力量,国内安装docker推荐设置云厂商提供的仓库地址,这里推荐使用阿里云

设置仓库源地址

yum install yum-utils device-mapper-persistent-data lvm2 && \
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

部署最新版本

docker作为常用的后台服务,推荐设置为开机启动,当前命令适用于centos7

sudo yum install -y docker-ce docker-ce-cli containerd.io && systemctl enable --now docker

部署指定版本

kubernetesdocker的发布并没与完全同步,如果接下来需要部署kubernetes,请参考kubernetes部署说明,安装指定版本的docker

yum list docker-ce --showduplicates | sort -r
sudo yum install -y docker-ce-18.09.2-3.el7 docker-ce-cli-18.09.2-3.el7 containerd.io-18.09.2-3.el7 && systemctl enable --now docker

普通用户添加docker权限

sudo usermod -aG docker ${USER}

卸载

sudo yum erase -y docker-ce docker-ce-cli containerd.io

日常使用

镜像加速

依旧存在不可知的神秘力量,导致拉取镜像的时候速度不给力,此时国内的云厂商站出来了,提供了很多加速服务,依旧推荐一波阿里云

加速的地址各位看管自己注册阿里云账号获取,此服务免费,阿里云也提供免费的镜像构建服务

cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.nju.edu.cn",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.mirrors.sjtug.sjtu.edu.cn"
  ]
}
EOF
systemctl daemon-reload && \
systemctl restart docker

强烈推荐的控制面板

docker volume create portainer_data && \
docker run -d --name=portainer --restart=always -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.3-alpine

常用镜像拉取合集

docker pull rancher/rancher:stable && docker pull  portainer/portainer-ce:2.0.1 && \
docker pull centos:7 && docker pull ubuntu:20.04 && docker pull ubuntu:18.04 && \
docker pull redis:5 && docker pull redis:6 && \
docker pull alpine:3.11 && docker pull busybox:1.32 && \
docker pull rabbitmq:3.7-management && \
docker pull mariadb:10.2 && \
docker pull nginx:1.18 && docker pull nginx:1.19 && \
docker pull mysql:5.6 && docker pull mysql:8 && \
docker pull elasticsearch:6.8.11 && docker pull logstash:6.8.11 && docker pull kibana:6.8.11 && \
docker pull zookeeper:3.4 && \
docker pull influxdb:1.7 && docker pull grafana/grafana:7.3.1 && \
docker pull percona:8 && docker pull percona:5.6 && \
docker pull cloverzrg/frps-docker:0.34.3 && docker pull cloverzrg/frpc-docker:0.34.3

常用组合命令

https://docs.docker.com/engine/reference/commandline/docker/


查看容器运行状态,附加format参数,查看详细的容器信息,此时不关注镜像信息

docker ps --format "{{.Names}}: {{.Ports}}: {{.Size}}"
#portainer: 0.0.0.0:8000->8000/tcp, 0.0.0.0:9000->9000/tcp: 0B (virtual 172MB)
#influxdb: 0.0.0.0:8086->8086/tcp: 183B (virtual 311MB)

一键停止所有容器

docker stop $(docker ps -a -q)

一键删除所有镜像

dokcer rmi $(docker images -a -q)

导出镜像

docker save <IMAGE NAME>:<IMAGE TAG> > -o XXX.tar

导出镜像并压缩

docker save <IMAGE NAME>:<IMAGE TAG> | gzip > XXX.tar

导入镜像

docker load -i XXX.tar