操作
服务器资源
docker资源
[ghost@trilium20251227 trilium]$ docker stats --no-stream CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 834584383b6e trilium 0.00% 104.6MiB / 400MiB 26.15% 1.27MB / 2.27MB 169MB / 6.99MB 11 a5090bbc5aae ghost 0.03% 140.4MiB / 256MiB 54.84% 146kB / 3.67MB 286MB / 29.5MB 11 1619e84b6ff1 nginx 0.00% 8.625MiB / 64MiB 13.48% 7.97MB / 8.77MB 8.82MB / 86kB 2 6f97f828412e certbot 0.00% 568KiB / 985.5MiB 0.06% 9.69MB / 56.7kB 172MB / 2.66MB 1docker守护进程
[ghost@trilium20251227 ruby]$ systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2025-12-27 15:26:00 CST; 1 weeks 1 days ago Docs: https://docs.docker.com Main PID: 1634 (dockerd) Tasks: 40 Memory: 65.8M CGroup: /system.slice/docker.service ...查看日志
[ghost@trilium20251227 certbot]$ docker logs -f certbot fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz (1/16) Installing libexpat (2.7.3-r0) (2/16) Installing mpdecimal (4.0.0-r0) (3/16) Installing python3 (3.12.12-r0) (4/16) Installing python3-pycache-pyc0 (3.12.12-r0) (5/16) Installing pyc (3.12.12-r0) (6/16) Installing py3-certifi-pyc (2024.2.2-r1) (7/16) Installing py3-charset-normalizer (3.3.2-r1) (8/16) Installing py3-charset-normalizer-pyc (3.3.2-r1) (9/16) Installing py3-idna (3.7-r0) (10/16) Installing py3-idna-pyc (3.7-r0) (11/16) Installing py3-urllib3 (1.26.18-r1) (12/16) Installing py3-urllib3-pyc (1.26.18-r1) (13/16) Installing py3-requests-pyc (2.32.4-r0) (14/16) Installing python3-pyc (3.12.12-r0) (15/16) Installing py3-certifi (2024.2.2-r1) (16/16) Installing py3-requests (2.32.4-r0) Executing busybox-1.36.1-r29.trigger OK: 68 MiB in 59 packages清理docker冗余
# 1. 停止 Docker 服务 systemctl stop docker # 2. 清理无用容器、镜像、卷、网络:-a 清理所有未使用镜像;-f 强制;--volumes 清理无用卷 docker system prune -a -f --volumes # 3. 手动删除旧镜像/容器(如果 prune 没清干净) docker images docker rmi <镜像ID> # 4. 清理 Docker 日志(/var/lib/docker/containers 下日志文件可能很大) find /var/lib/docker/containers/ -name "*.log" -delete # 5. 重启 Docker systemctl start docker
镜像
- 罗列镜像
docker images- 磁盘占用
docker system df
- 磁盘占用
- 拉取镜像
docker pull myrepo/my_image:v1.0- 推送镜像
docker push myrepo/my_image:v1.0 - 导出镜像
docker save -o my_image.tar my_image:latest - 导入镜像
docker load -i my_image.tar - 标记镜像
docker tag my_image:latest myrepo/my_image:v1.0
- 推送镜像
- 运行镜像
docker run -d --name my_container my_image:latest - 删除镜像
- 删除指定镜像
docker rmi my_image:latest - 清理闲置镜像
docker image prune -a - 清理闲置镜像网络卷资源
docker system prune -a
- 删除指定镜像
国内源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://dockerproxy.net",
"https://proxy.vvvv.ee",
"https://dockerproxy.link"
]
}
EOF
# centos
sudo systemctl daemon-reload;sudo systemctl restart docker
# alpine
sudo rc-service docker restart代理
mkdir -p ~/.docker
vi ~/.docker/config.json
{
"proxies": {
"default": {
"httpProxy": "http://192.168.1.120:7890",
"httpsProxy": "http://192.168.1.120:7890",
"noProxy": "localhost,127.0.0.1,0.0.0.0,::1,.local,.lan,.test,.work,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,100.64.0.0/10,169.254.0.0/16,.svc,.cluster.local,.cn,.aliyun.com,.aliyuncs.com,.alicdn.com,.tencent.com,.myqcloud.com,.baidu.com,.baidupcs.com,.huaweicloud.com,.jd.com,registry.npmmirror.com,binary.npmmirror.com,gitee.com,codeup.aliyun.com"
}
}
}网络
docker network ls
docker network create ghost_net
docker network inspect ghost_net容器
- 配置文件 默认基于同路径下的docker-compose.yml文件,-f xxx.yml 指定文件
- 创建容器
docker-compose up -d-d 为后台 - 运行容器
docker-compose start- 查看资源
docker stats - 查看进程
docker ps -a - 查看日志
docker-compose logs - 进入容器
docker-compose exec 容器名称 sh
- 查看资源
- 重启容器
docker-compose restart - 销毁容器
docker-compose down - 停止容器
docker-compose stop
日志
统一配置
sudo vi /etc/docker/daemon.json { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } sudo rc-service docker restart # Alpine 使用 OpenRC 标准命令 sudo systemctl restart docker # Oracle Linux日志分容器统计
docker ps -a --format "{{.Names}}" | xargs -I {} sh -c 'echo -n "{}: "; sudo du -h $(docker inspect --format="{{.LogPath}}" {})'日志清空
sudo truncate -s 0 $(docker inspect --format='{{.LogPath}}' trilium)
应用
所给的链接,都是可以获取docker-compose.yml 或 启动命令,一分钟部署网站服务,容器即服务。
基础设施
nginx https://hub.docker.com/_/nginx 服务器入口,反向代理,服务应用的被访问代理人
docker-shadowsocks https://hub.docker.com/r/oddrationale/docker-shadowsocks 自建VPN代理服务器
certbot https://eff-certbot.readthedocs.io/en/latest/install.html#alternative-1-docker Let's Encrypt的https SSL证书申请和更新程序
数据库
mariadb https://hub.docker.com/_/mariadb 开源关系数据库,是mysql的一个分支,完全兼容MySQL
云笔记
trilium
https://github.com/Nriver/trilium-translation 私有云笔记,速度极快,分享后可访问,有win客户端
wiki
xwiki https://github.com/xwiki/xwiki-docker 维基程序,配合tomcat,mysql或postgres使用
mediawiki https://hub.docker.com/_/mediawiki 维基程序,配合mariadb使用
博客
Ghost 博客
https://hub.docker.com/_/ghost 简洁的博客程序,使用Node.js语言开发,支持MySQL、MariaDB、SQLite和PostgreSQL数据库
论坛
Flarum 论坛
https://github.com/mondediefr/docker-flarum 不少爱好者论坛使用 ,基于php,有yml配置,但看过说明无法确定是否能一分钟部署
[missing note]
https://github.com/casbin/casnode/blob/master/docker-compose.yml 一个仿 V2EX 社区风格的开源论坛项目。 yml含mysql,需考虑好数据备份