Linux_docker篇
欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神!
题目:docker命令总结表
版本号: 1.0,0
作者: @老王要学习
日期: 2025.06.06
适用环境: docker容器化
一、启动容器
选项 | 功能 |
---|
-d | 后台运行容器 |
-i | 保持标准输入打开 |
-t | 分配伪终端 |
-p | 映射端口 |
-v | 挂载卷 |
-e | 设置环境变量 |
–name lw | 指定容器名为lw |
–rm | 容器退出自动删除 |
-it | 交互式操作 |
# 语法
docker run [选项] 镜像名 [命令] [参数...]# 示例
docker run -d -it --rm \-p 8080:80 \-v $(pwd)/data:/app/data \-e DB_HOST=localhost \-e DB_USER=admin \-e DB_PASS=secret \--name my_container \nginx:alpine# 示例分析:
1. 以守护进程模式 (-d) 在后台运行一个交互式容器
2. 分配一个伪终端并保持标准输入打开 (-it)
3. 容器退出时自动删除 (--rm)
4. 将主机的 8080 端口映射到容器的 80 端口 (-p)
5. 将主机当前目录下的 data 目录挂载到容器内的 /app/data 目录 (-v)
6. 设置三个环境变量 (-e) 用于数据库连接配置
7. 为容器指定名称 my_container (--name)
8. 使用 nginx:alpine 镜像创建容器
方式 | 场景 | 语法 |
---|
docker run | 启动单个容器 | docker run [选项] 镜像名 [命令] [参数…] |
docker start | 启动已停止容器 | docker start 容器名 |
docker-compose | 多容器关联 | docker-compose up -d |
docker exec | 运行后台容器 | docker exec -it [选项] 容器名 sh |
docker attach | 连接容器(退出容器停止) | docker attach 容器名 |
二、查看容器
# 查看运行中的容器(语法)
docker ps [选项]# 查看容器详细信息(语法)
docker inspect [选项] 容器名
docker ps 选项 | 功能 |
---|
-a | 显示所以容器 |
-q | 只显示容器ID |
-l | 显示最近创建容器 |
–format | 自定义输出(–format ‘{{.ID}} {{.Names}}’) |
三、删除容器
语法 | 功能 |
---|
docker rm [容器ID或名称] | 删除单个容器(已停止的容器) |
docker rm -f [容器ID或名称] | -f(强制)先停止容器,在删除 |
docker container prune | 删除所以已停止的容器 |
docker rm -f $(docker ps -aq) | 删除所以容器(运行停止的容器都删除) |
docker run --rm [镜像名] | 删除容器自动清理相关资料(谨慎使用) |
docker rm -v [容器ID或名称] | 删除容器并删除关联数据卷 |
四、导出入镜像
语法 | 功能 |
---|
docker save [选项] 镜像名 > 导出路径.tar | 导出完整镜像到tar文件 |
docker save lwimage:v1 > /root/lwimage_v1.tar | 重定向导出法 |
docker save -o /root/lwimage_v1.tar lwimage:v1 | 使用–output选项 |
docker save -o /root/images.tar lwimage:v1 lisiimage:v2 | 导出多个镜像到一个tar文件 |
docker expect [选项] 容器名 > 导出路径.tar | 导出容器快照到tar文件 |
docker load -i 镜像包 | 导入镜像包 |
docker import 容器快照 | 导入容器快照 |
五、Dockerfile
5.1基础设置命令
命令 | 功能 | 示例 |
---|
FROM | 指定基础镜像(必须为第一条指令) | FROM [你的镜像名] |
LABEL | 标签(如作者,版本,其他的描述) | LABEL 作者=“lw” 版本=“1.0” |
ARG | 定义构建时变量 | ARG lw=6666 |
5.2文件操作命令
命令 | 功能 | 示例 |
---|
COPY | 复制本地文件/目录带到镜像 | COPY /test1.txt /lw666/ |
ADD | 支持远程下载,自动解压压缩包 | ADD https://…/nginx.tar.gz /tmp |
RUN | 执行命令(常用于安装依赖) | RUN dnf install -y nginx |
5.3环境配置命令
命令 | 功能 | 示例 |
---|
ENV | 设置环境变量(构建和运行时都生效) | ENV lw=666 lao=888 |
WORKDIR | 设置工作目录(定位后续命令路径) | WORKDIR /tmp |
USER | 运行容器时切换指定用户 | RUN useradd -m laowang USER laowang |
5.4容器运行命令
命令 | 功能 | 示例 |
---|
EXPOSE | 映射容器运行时监听的端口 | EXPOSE 80 443 |
CMD | 设置容器启动时的默认命令(常用于启动服务,仅最后一条生效,可被 docker run 覆盖) | CMD [“nginx”, “-g”, “daemon off;”] |
ENTRYPOINT | 设置容器启动时的主命令(不可被覆盖数可通过 CMD 传递) | ENTRYPOINT [“nginx”, “-g”] CMD [“daemon off;”] |
5.5高级特性命令
命令 | 功能 | 示例 |
---|
VOLLUME | 定义数据卷(用于持久化存储) | VOLUME [“/挂载点1”, “/挂载点2”] |
STOPSTGNAL | 容器退出时发送的信号 | STOPSIGNAL SIGTERM |
HEALTHCHECK | 设置容器监控检查 | HEALTHCHECK --interval=5s CMD curl -f http://localhost/ |
ONBUILD | 当前镜像构建的子镜像添加触发器 | ONBUILD RUN touch 666 |