Files
technology-document/Docker技术.md
T
zgene 832a3db830 修改: "2026 Ubuntu \345\256\211\350\243\205.md"
新文件:   "Docker\346\212\200\346\234\257.md"
	新文件:   "GIT\346\212\200\346\234\257.md"
	新文件:   "Linux\346\212\200\346\234\257.md"
	新文件:   "Python\346\212\200\346\234\257.md"
	新文件:   hermes-agent.md
	新文件:   "\345\244\207\344\273\275\344\270\216\346\201\242\345\244\215.md"
	新文件:   "\347\224\265\345\255\220\347\247\244\345\233\276\347\211\207\350\257\206\345\210\253\347\263\273\347\273\237\350\256\276\350\256\241.md"
2026-05-26 14:00:03 +08:00

84 lines
2.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相关
## 安装
```
# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 Docker 仓库
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
# 安装 Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
# 验证
$ docker version 29.5.2
$ docker compose version v5.1.4
```
sudo vim /etc/docker/daemon.json
```
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker-0.unsee.tech",
"https://docker.m.daocloud.io"
],
"live-restore": true,
"features": { "buildkit": true }
}
```
### 将当前用户加入 docker 组
这是最推荐的方法,加入后无需每次使用 `sudo`
```
# 1. 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 2. 刷新组权限(或者完全退出终端并重新登录)
newgrp docker
```
## 使用
```
Docker相关:
给当前用户增加 docker 运行权限
sudo usermod -aG docker $USER
newgrp docker
SaaS镜像发布:submit- 然后远程 docker load -i my*.tar 重启容器
docker compose logs coze-server --tail 10 | grep -i "error" 查错
docker logs container_name | grep -C 20 "error" 查错误日志前后 20 行内的内容
docker compose exec -it ? /bin/sh 或 /bin/bash 进入容器执行命令
docker image prune -a 删除所有未使用的镜像 docker rmi $(docker images -q) 删除所有镜像
删除所有容器 docker stop $(docker ps -q) ; docker rm $(docker ps -q)
doker pull coleifer/sqlite-web:latest 拉镜像
docker save coleifer/sqlite-web:latest -o sqlite_web_latest.tar 保存镜像,上传
docker load -i sqlite_web_latest.tar 服务器加载镜像
-
清空日志:
docker compose logs --no-log-prefix > /dev/null 2>&1 && truncate -s 0 $(docker inspect --format='{{.LogPath}}' $(docker compose ps -q))
```
- 重启所有服务:`docker compose restart`
- 只重启网关服务:`docker compose restart hermes`
- 查看所有服务实时日志:`docker compose logs -f`
- 升级到最新镜像版本:`docker compose pull && docker compose up -d`
- 停止所有服务:`docker compose down`
启动指定生产环境 docker compose -f docker-compose.prod.yml ps