Docker

Docker 安装

  1. apt update
  2. # 自动安装 1
  3. curl -fsSL https://get.docker.com -o get-docker.sh
  4. sh get-docker.sh --mirror Aliyun
  5. # 自动安装 2
  6. curl -sSL https://get.daocloud.io/docker | sh
  7. # 手动安装 - 成功率不高
  8. wget https://download.docker.com/linux/debian/dists/buster/pool/stable/arm64/docker-ce_19.03.8~3-0~debian-buster_arm64.deb
  9. sudo dpkg -i docker-ce*.deb
  10. sudo apt -f install

版本

docker info

自启 / 重启 / 关闭 / 状态

  1. systemctl start docker
  2. systemctl restart docker
  3. systemctl stop docker
  4. systemctl status docker

卸载

  1. mv /var/lib/dpkg/info/docker-ce* /tmp/
  2. dpkg --remove --force-remove-reinstreq docker-ce
  3. apt autoremove
  4. apt autoclean
  5. #rm -rf /var/lib/docker

加速镜像

  1. rm -fr /etc/docker/daemon.json
  2. tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
  5. }
  6. EOF

当前镜像

  1. service docker restart
  2. docker info | grep "Registry Mirrors" -A 1

Docker Web

给 Docker 添加可视化界面

  1. # 忽略
  2. docker rm Portainer -f
  3. docker volume rm Portainer_data
  4. # 创建卷
  5. docker volume create Portainer_data
  6. # 运行
  7. docker run -d \
  8. --name=Portainer \
  9. --restart always \
  10. -e TZ=Asia/Shanghai \
  11. -p 10000:9000 \
  12. -v /var/run/docker.sock:/var/run/docker.sock \
  13. -v Portainer_data:/data \
  14. portainer/portainer:linux-arm64
  15. # 参数:
  16. -d:后台运行
  17. --name Portainer # 容器名称
  18. --restart always # 开机自启
  19. -e TZ=Asia/Shanghai # 设定时区
  20. -p 10000:9000 # 宿主机 10000 端口映射容器的 9000 端口
  21. -v /var/run/docker.sock:/var/run/docker.sock: # 把宿主机的 Docker 守护进程 (Docker daemon) 默认监听的 Unix 域套接字挂载到容器中。
  22. -v Portainer_data:/data: # 把宿主机 Portainer_data 数据卷挂载到容器 /data 目录
  23. # https://portainer.readthedocs.io/en/stable/deployment.html

Web 访问地址

IP:10000 -> Local

Portainer 中文(未测试)

  1. 1.新建文件夹命名为 public ,把 Portainer-CN.zip 解压至里面。
  2. 2.public 文件夹传输至系统根目录
  3. 3.按需执行以下命令
  4. x86-64 系统使用
  5. docker run -d -p 10000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v Portainer_data:/data -v /public:/public portainer/portainer:1.20.2
  6. arm64
  7. docker run -d -p 10000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v Portainer_data:/data -v /public:/public portainer/portainer:linux-arm64-1.20.2
  8. # 原作者:https://www.quchao.net/Portainer-CN.html
  9. # 步骤:https://www.right.com.cn/forum/thread-940311-1-1.html

Docker 扩容

挂载 U 盘

  1. fdisk -l # 查看磁盘情况
  2. mkfs.ext4 /dev/sda # u 盘是 sda,执行格式化 sda
  3. mkdir /mnt/USB # 创建目录供挂载使用
  4. mount -v /dev/sda /mnt/USB # 挂载 U 盘
  5. df -h # 查看挂载状态
  6. umount -v /dev/sda # 解除挂载

停止 Docker

service docker stop

方法 A [不推荐]:

  1. mkdir -p /etc/docker
  2. rm -fr /etc/docker/daemon.json
  3. tee /etc/docker/daemon.json <<-'EOF'
  4. {
  5. "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  6. "graph": "/mnt/USB/docker", # 关键行
  7. "log-opts":{
  8. "max-size" :"10m","max-file":"3"
  9. }
  10. }
  11. EOF

方法 B [不推荐]:

  1. nano /etc/fstab
  2. /opt/docker /var/lib/docker none bind 0 0

方法 C:

  1. # 创建目录
  2. mkdir /mnt/USB/docker -p
  3. # 拷贝数据
  4. # -rpvb 递归/保留属性/覆盖/详细
  5. cp /var/lib/docker/* /mnt/USB/docker -rpvb
  6. mv /var/lib/docker /var/lib/docker.bak
  7. # 软连接:实际 + 目标
  8. ln -s /mnt/USB/docker /var/lib
  9. # 恢复步骤,删除软连接(警告!尾部没有左斜杠 /
  10. #rm -rf /var/lib/docker
  11. # 生效/启动
  12. systemctl daemon-reload
  13. service docker restart
  14. # 验证
  15. docker info
  16. #docker info | grep 'docker Root Dir'
  17. -----------------
  18. 显示=成功
  19. Docker Root Dir: /mnt/USB/docker
  20. # 重启自动挂载 U 盘,在 rc.local
  21. sed -i '/exit 0/i\mount -v /dev/sda /mnt/USB' /etc/rc.local

Docker 玩法

30 多种玩法!
https://www.right.com.cn/forum/thread-911375-1-1.html