document/文档/docker/docker.md
2024-11-17 00:35:38 +08:00

124 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Docker
## 常用命令
```sh
# 重启服务
sudo systemctl restart docker
# 设置代理
sudo nano /etc/docker/daemon.json
{
# 允许http请求拉取镜像
"insecure-registries" : ["123.207.203.228:92","123.207.203.228:93"],
"registry-mirrors": [
# 拉取镜像代理地址
"https://mirror.ccs.tencentyun.com"
]
}
# 改完后需要重启
sudo systemctl restart docker
# 查看挂载卷
docker volume ls
# 查看挂载卷详细 miaoyu_miaoyu-log 卷名称
docker volume inspect miaoyu_miaoyu-log
#删除所有带miaoyuapi
docker rmi -f `docker images | grep miaoyuapi | awk '{print $3}'`
# 部署服务
docker stack deploy -c docker-compose.yml my_stack
# 查看服务状态:
docker stack services my_stack
# 加入节点
docker swarm join --token SWMTKN-1-1j8ye9wwvth761odcv9awydwg9zmz51cxdfidw3osdxw4zoraq-1c6ltkq51n1nawvciyudqijc7 10.0.12.5:2377
#列出所有节点的 ID
docker node ls
docker stack ps miaoyu_webapi
# 查看详细信息:
docker node inspect <node-id> --format '{{ .Status.Addrs }}'
# 节点添加标签
docker node update --label-add key=value <node-id>
# 提升新的管理节点:
docker node update --role manager <new-node-id>
# 降级故障节点
docker node update --role worker <old-node-id>
# 移除旧的管理节点
docker node rm <old-node-id>
# 导出镜像
docker save -o miaoyu.tar miaoyu:dev-1.2.5
docker save -o I:/docker/ubuntu/ubuntu.22.04.tar ubuntu:22.04
docker save -o I:/docker/ubuntu/cg-admin.tar cloudgaming.api.admin:dev-0.0.1
docker load -i <镜像文件名>.tar
docker save -o /disk/Public/miaoyu/Public/docker/miaoyu.tar miaoyu:dev-1.2.5
# 修改镜像标签,先修改在推送到服务器
docker tag miaoyuapi:dev-1.2.6 123.207.203.228:92/miaoyuapi:dev-1.2.6
# 推送镜像到服务器
docker tag miaoyuapi:dev-1.2.6 123.207.203.228:92/miaoyuapi:dev-1.2.6
## 打包镜像
docker build -t miaoyuapi:dev-1.2.6 -progress=plain --build-arg VERSION=1.2.6 --build-arg TARGET=dev -f src/2-api/HuanMeng.MiaoYu.WebApi/Dockerfile .
docker build -t cg-admin:dev-0.0.2 -f CloudGaming.Api.Admin/Dockerfile .
docker build -t cg-admin:dev-0.0.2 -f CloudGaming.Api.Admin/Dockerfile .
docker save -o I:/docker/ubuntu/cg-admin-0.02.tar cg-admin:dev-0.0.2
# 运行
docker run -d -p 90:90 -v miaoyu-log:/app/output --name webapi miaoyu:dev-0.0.3
```
## 安装
```sh
# 更新系统包列表:
sudo apt update
# 安装依赖包:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker 的官方 GPG 密钥:
## 国内
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 添加 Docker 软件源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 海外
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
##如果没有办法安装可以先下载gpg然后执行命令
# 添加 Docker APT 仓库:
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
# 更新包列表:
sudo apt update
# 安装 Docker CE社区版
sudo apt install docker-ce
# 启动 Docker 并设置为开机启动:
sudo systemctl start docker
sudo systemctl enable docker
# 验证 Docker 是否安装成功:
sudo docker run hello-world
```