一、docker-compose 启动
1、快速启动
| 命令 | 说明 |
|---|---|
docker compose up -d |
最常用。在后台启动整个项目的所有服务。 |
docker compose ps |
查看当前项目下所有容器的运行状态。 |
docker compose logs -f |
实时查看项目日志(排错必用)。 |
docker run -d --name <名> <镜像> |
启动一个独立的孤立容器(不属于 Compose 项目)。 |
2、快速关闭清理
A. 针对 Docker Compose 项目
开发者最容易堆积垃圾镜像和容器,这组指令是保持系统清爽的关键:
停止并删除项目中的容器、网络(但保留镜像和挂载的数据卷)
docker compose down
彻底删除:停止容器,并删除镜像、网络、以及【匿名数据卷】
docker compose down --rmi all -v
B. 针对单容器
停止容器
docker stop <容器ID或名称>
删除容器
docker rm <容器ID或名称>
删除镜像
docker rmi <镜像ID或名称>
二、Docker指定代理端口启动
1、启动模板
sudo docker run -d \
--name <容器名称> \
--restart always \
-p <宿主机端口>:<容器端口> \
-v <宿主机数据目录>:<容器数据目录> \
-e TZ=Asia/Shanghai \
-e HTTP_PROXY="http://<代理IP>:<端口>" \
-e HTTPS_PROXY="http://<代理IP>:<端口>" \
<镜像名>:latest
具体启动方式参考:
sudo docker run -d --restart always --name new-api \
-p 3000:3000 \
-v /home/ubuntu/new-api:/data \
-e TZ=Asia/Shanghai \
-e HTTP_PROXY="http://172.17.0.1:7897" \
-e HTTPS_PROXY="http://172.17.0.1:7897" \
-e NO_PROXY="localhost,127.0.0.1" \
calciumion/new-api:latest
^f2855c
指令介绍: 172.17.0.1 是 Docker 默认分配给宿主机的 IP,7897是服务器clash代理的默认端口。
2、具体参数介绍
时区偏差、网络不通问题
| 参数 | 示例 | 说明 |
|---|---|---|
| -e TZ | -e TZ=Asia/Shanghai |
时区同步:强制容器使用北京时间,避免日志时间错乱。 |
| -e PROXY | -e HTTP_PROXY="http://IP:PORT" |
网络代理:解决容器内无法访问外部 API(如 OpenAI/GitHub)的问题。 |
| -e NO_PROXY | -e NO_PROXY="localhost,127.0.0.1" |
排除代理:确保访问内网服务时不经过代理服务。 |
持久化与可靠性
| 参数 | 示例 | 说明 |
|---|---|---|
| -v (Volume) | -v /宿主机路径:/容器路径 |
数据挂载:将数据保存在宿主机,防止容器删除后数据丢失(数据库/配置文件必备)。 |
| –restart | --restart always |
自动重启:宿主机重启或容器崩溃后,Docker 会自动拉起该容器。 |
3、Docker compose 对应语法
Docker Compose对应修改配置文件示例:
services:
new-api:
image: calciumion/new-api:latest
container_name: new-api
restart: always
ports:
- "3000:3000"
volumes:
- /home/ubuntu/new-api:/data
environment:
- TZ=Asia/Shanghai
- HTTP_PROXY=http://172.17.0.1:7897
- HTTPS_PROXY=http://172.17.0.1:7897
- NO_PROXY=localhost,127.0.0.1
三、Docker 基本指令
查看所有当前正在运行的项目:
docker ps
查看所有容器(包括已停止的):
docker ps -a
列出本地存储的所有镜像:
docker images
从远程仓库拉取项目:
docker pull
停止一个或多个容器:
docker stop container_name
开始容器:
docker start container_name
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com