832a3db830
新文件: "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"
84 lines
2.5 KiB
Markdown
84 lines
2.5 KiB
Markdown
# 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 |