GitHub 低代码
发布于 

Docker相关

Docker概述

官网: https://www.docker.com/

安装Docker

官网安装教程: https://docs.docker.com/engine/install/

确保Docker卸载干净 (卸载Docker)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 卸载命令
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
# 查看是否卸载干净
dpkg -l | grep docker
# 删除无用的相关的配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
# 删除没有删除的相关插件
apt-get autoremove docker-ce-*
# 删除docker的相关配置&目录
sudo rm -rf /etc/systemd/system/docker.service.d
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

## 检测docker是否存在
docker --version

一键安装Docker

1
2
3
4
5
6
7
# 1、官方
curl -fsSL https://get.docker.com -o get-docker.sh
DRY_RUN=1 sh ./get-docker.sh
# 2、感觉这个更快
curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun
# 3、国内常用安装
curl -sSL https://get.daocloud.io/docker | sh

普通安装Docker

安装必要依赖库

1
2
3
4
5
6
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release

添加 Docker官方 储存库(GPG)密钥

1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加Docker 储存库 apt 源

1
2
3
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • dpkg --print-architecture 表示获取系统架构, 如: arm64、armhr、armel 等
  • lsb_release -cs 获取ubuntu的系统代号, 如: 16.04(Xenial)、18.04(Bionic) 、20.04(focal)
  • stable docker版本, stable(稳定版本)、test(测试版)、nightly(每日构建版)
  • 整体意思, 将字符串deb XX..XX stable 输出到 ..xx/docker.list 文件中
  • ps: 也可以使用 sudo add-apt-repository 添加apt源

安装Docker

1
2
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  • docker-ce社区版 和 docker-ee企业版(收费和更多特效)
  • 防止自动更新(可选): sudo apt-mark hold docker-ce

指定Docker版本安装

1
2
3
4
# 列出版本
apt-cache madison docker-ce
# 版本信息,如:5:18.09.1~3-0~ubuntu-xenial.
sudo apt-get install docker-ce=<版本信息> docker-ce-cli=<版本信息> containerd.io

验证Docker安装

1
2
3
4
5
# 查看状态
sudo systemctl status docker

# 验证是否启动
sudo docker run hello-world

常见问题

非root每次使用docker都要sudo

  • 通过将用户添加至Docker组解决问题
  • ps: 需要重新登陆才生效
1
sudo usermod -aG docker \[用户]

设置国内镜像源加速

  • 加速的地址
1
2
3
4
Docker中国区官方               "https://registry.docker-cn.com"
网易 "http://hub-mirror.c.163.com" (推荐)
阿里云 "https://kfwkfulq.mirror.aliyuncs.com" (推荐)
ustc(中国科技大学镜像源) "https://docker.mirrors.ustc.edu.cn"
  • 修改文件
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 修改文件
    vi /etc/docker/daemon.json

    # 文件内容
    {
    "registry-mirrors": [
    "http://hub-mirror.c.163.com",
    "https://kfwkfulq.mirror.aliyuncs.com"
    ]
    }

    # 重启docker, 使配置生效
    service docker restart

Docker-Compose

安装docker-compose(2.x)版本

方法一

1
2
3
4
5
6
7
8
9
# 定义变量安装
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
# 安装 2.3.3版本到.docker/cli-plugins下
curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
# 赋予执行权限
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
# 建立软链接
sudo ln -s /home/ubuntu/.docker/cli-plugins/docker-compose /usr/local/bin/docker-compose

方法二(国内加速)

1
2
3
4
5
6
7
# 国内加速安装 https://get.daocloud.io/

# 直接下载在bin目录下
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.3.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 赋予执行权限
chmod +x /usr/local/bin/docker-compose

安装docker-compose(1.29.2)版本

1
2
3
4
5
6
7
8
9
# 必要依赖
# py-pip, python3-dev, libffi-dev, openssl-dev, gcc, libc-dev, rust,cargo,make.
# 安装
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 权限问题
sudo chmod +x /usr/local/bin/docker-compose

# 路径问题 , 建立软连接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

卸载docker-compose

1
sudo rm /usr/local/bin/docker-compose

Docker可视化工具(Portainer)

官网文档: https://docs.portainer.io/

简介:

  • 版本: 商用版(Business Edition) 、 社区版(Community Edition)
  • 支持安装Protainer的环境: Docker Standalone、Docker Swarm、 Kubernetes

安装Docker Standalone 的社区版

说明:

  • 端口说明
    • 9000 http端口
    • 9443 https端口
    • 8000 反向隧道服务器 (使用SSH进行身份验证)
  • 目录说明: 将Portainer的相关文件和数据都存放在 /opt/portainer 目录下

直接使用docker run 安装

1
docker run -d -p 8000:8000 -p 9443:9443 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce:2.11.1

使用docker-compose

1
2
3
# 在/opt/portainer目录下新建docker-compose文件
sudo mkdir /opt/portainer
sudo vi /opt/portainer/docker-compose.yml

文件中写入以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: '3.9'

services:
portainer:
image: portainer/portainer-ce
container_name: portainer
restart: always
# 端口映射 按需开启以下的端口
ports:
- 9000:9000
# - 9443:9443
# - 8000:8000
# 卷轴映射
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# portainer 的数据卷轴
- /opt/portainer/data:/data

启动portainer

1
2
cd /opt/portainer
docker-compose up -d

简要说明:

  • Stack: DockerCompose管理 「编辑管理docker-compose文件」
  • Container: 管理Docker容器
  • Image: 管理Docker镜像
  • Volumes: 管理Docker数据卷轴
  • Networks: 管理Docker网络

使用

TODO


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

本站由 @Kocher 创建,使用 Stellar 作为主题。