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-*
sudo rm -rf /etc/systemd/system/docker.service.d sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
docker --version
|
一键安装Docker
1 2 3 4 5 6 7
| curl -fsSL https://get.docker.com -o get-docker.sh DRY_RUN=1 sh ./get-docker.sh
curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun
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
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" ] }
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
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
|
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
|
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
| 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 volumes: - /var/run/docker.sock:/var/run/docker.sock - /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