00:00:00
加载中...
🐳 容器技术命令速查表
本文最后更新于11 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

# 容器命令速查表

来源: 尹正杰云原生视频 day07-13

## 一、镜像管理

images                    # 查看本地镜像
images -a                 # 查看所有镜像(含中间层)
images -q                 # 只显示ID
pull nginx:alpine         # 拉取镜像
push myimage:v1           # 推送镜像
rmi nginx                 # 删除镜像
rmi -f nginx              # 强制删除
tag nginx my:v1           # 打标签
save nginx -o nginx.tar   # 导出镜像
load -i nginx.tar         # 导入镜像
search nginx              # 搜索镜像
image prune               # 清理悬空镜像
history nginx             # 查看镜像历史
inspect nginx             # 查看镜像详情

## 二、容器生命周期

# 运行容器
run -d --name web nginx              # 后台运行
run -it alpine sh                    # 交互运行
run -d -p 80:80 nginx                # 端口映射
run -d -v /host:/container nginx     # 挂载目录
run -d -e KEY=value nginx            # 环境变量
run -d --restart always nginx        # 重启策略
run -d --memory 512m --cpus 1 nginx  # 资源限制
run --rm alpine sh                   # 退出后删除

# 管理容器
ps                         # 查看运行容器
ps -a                      # 查看所有容器
start web                  # 启动容器
stop web                   # 停止容器
restart web                # 重启容器
kill web                   # 强制停止
rm web                     # 删除容器
rm -f web                  # 强制删除
container prune            # 清理停止的容器

## 三、容器操作

exec -it web sh            # 进入容器
exec web ls /app           # 容器内执行命令
logs web                   # 查看日志
logs -f web                # 实时日志
logs --tail 100 web        # 最后100行
cp web:/app/file.txt .     # 从容器复制
cp file.txt web:/app/      # 复制到容器
inspect web                # 查看详情
stats web                  # 查看资源使用
top web                    # 查看进程
port web                   # 查看端口映射
commit web my:v1           # 保存为镜像
export web -o web.tar      # 导出容器
import web.tar my:v1       # 导入为镜像
pause web                  # 暂停
unpause web                # 恢复

## 四、网络管理

network ls                 # 查看网络
network create mynet       # 创建网络
network create --subnet 172.28.0.0/16 mynet  # 指定子网
network rm mynet           # 删除网络
network inspect mynet      # 查看详情
network connect mynet web  # 连接网络
network disconnect mynet web  # 断开网络
network prune              # 清理未使用网络

## 五、存储卷管理

volume ls                  # 查看存储卷
volume create myvol        # 创建存储卷
volume rm myvol            # 删除存储卷
volume inspect myvol       # 查看详情
volume prune               # 清理未使用卷

## 六、Dockerfile指令

FROM alpine:3.20           # 基础镜像
MAINTAINER name            # 维护者
RUN apk add nginx          # 运行命令
COPY . /app/               # 复制文件
ADD file.tar.gz /app/      # 添加文件
WORKDIR /app               # 工作目录
ENV KEY=value              # 环境变量
EXPOSE 80                  # 暴露端口
VOLUME /data               # 数据卷
CMD ["nginx"]              # 启动命令
ENTRYPOINT ["nginx"]       # 入口点
HEALTHCHECK CMD curl -f http://localhost/  # 健康检查
ARG VERSION=1.0            # 构建参数
USER nginx                 # 指定用户

## 七、Docker Compose

compose up -d              # 后台启动
compose up -d --build      # 重新构建
compose down               # 停止删除
compose down -v            # 同时删除卷
compose ps                 # 查看状态
compose logs -f            # 实时日志
compose restart            # 重启服务
compose stop               # 停止服务
compose start              # 启动服务
compose build              # 构建镜像
compose pull               # 拉取镜像
compose exec web sh        # 进入容器
compose up -d --scale web=3  # 扩展服务
compose config             # 验证配置

## 八、Harbor私有仓库

login harbor.com           # 登录
tag nginx harbor/proj/nginx:v1
push harbor/proj/nginx:v1  # 推送
pull harbor/proj/nginx:v1  # 拉取
logout harbor.com          # 登出

## 九、Containerd(ctr)

ctr ns ls                  # 查看命名空间
ctr -n k8s.io images ls    # 查看镜像
ctr -n k8s.io images pull docker.io/library/nginx:alpine
ctr -n k8s.io containers ls  # 查看容器
ctr -n k8s.io tasks ls     # 查看任务

## 十、清理命令汇总

system prune -f            # 清理未使用资源
container prune -f         # 清理停止的容器
image prune -a -f          # 清理未使用镜像
volume prune -f            # 清理未使用存储卷
network prune -f           # 清理未使用网络

## 十一、重启策略对比

| 策略 | 正常退出 | 异常退出 | 重启服务时 |
|——|———|———|———–|
| no | 不重启 | 不重启 | 不启动 |
| always | 重启 | 重启 | 启动 |
| unless-stopped | 重启 | 重启 | 之前运行则启动 |
| on-failure | 不重启 | 重启 | 异常退出才启动 |

## 十二、常用组合示例

# 运行Web服务
run -d --name web -p 80:80 -v /data:/app --restart always nginx:alpine

# 运行数据库
run -d --name db -e MYSQL_ROOT_PASSWORD=123456 -v mysql-data:/var/lib/mysql --restart unless-stopped mysql:8.0

# 运行缓存
run -d --name redis -p 6379:6379 -v redis-data:/data --restart always redis:7-alpine

# 批量删除镜像
rmi -f $(images -q)

来源: 尹正杰云原生视频 day07-13

文末附加内容
上一篇
下一篇