docker 命令
·
以下命令均在centos7.9执行过
一、临时进入容器内
- mysql等有端口的持久容器
docker exec -it mysql bash有所不同,一个是常驻容器一个是一次性容器
docker run -it --rm hrt-webui-test bash
| 命令部分 | 作用 | 类比说明 |
|---|---|---|
docker run |
创建并启动一个新的容器实例。 | 相当于在电脑上启动一台新的虚拟机。 |
-it |
-i:保持标准输入打开,允许交互。-t:分配一个伪终端。 |
组合效果就像用 SSH 连接到一台服务器,可以进行命令行交互。 |
--rm |
容器退出后自动删除容器文件系统,避免积累无用容器。 | 使用一次性的临时虚拟机,用完即焚,不占空间。 |
hrt-webui-test |
指定用于创建容器的镜像名称。 | 相当于虚拟机的系统镜像模板,例如 ubuntu:22.04。 |
bash |
指定容器启动后要执行的命令,这里是启动 bash shell。 |
相当于虚拟机开机后自动打开命令行窗口。 |
二、构建容器
docker build -t hrt-webui-test .
| 命令部分 | 作用 | 详细说明 |
|---|---|---|
docker build |
构建 Docker 镜像的命令 | 告诉 Docker 引擎开始构建一个新的镜像 |
-t hrt-webui-test |
为镜像指定标签(tag) | -t 是 --tag 的缩写,hrt-webui-test 是镜像名称 |
. |
构建上下文路径 | 表示使用当前目录作为构建上下文 |
备注:当前目录 是指执行此命令时的目录 使用pwd即可查看
三、打包与解压docker镜像
假设存在镜像名称为hrt-webui-test
- 打包docker镜像
docker save hrt-webui-test:latest | gzip > hrt-webui-test.tar.gz
- 解压docker镜像
docker load -i hrt-webui-test.tar.gz
四、运行脚本容器加上 --rm
docker run --rm -v /tmp/test-results:/app/allure-results hrt-webui-test
| 场景 | docker run (无 --rm) |
docker run --rm |
|---|---|---|
| 容器状态 | Exited (停止) | 自动删除 |
docker ps -a |
能看到这个 Exited 容器 | 看不到 |
| 磁盘占用 | 保留容器层(通常几十MB) | 完全释放 |
| 容器数量 | 每次运行增加一个 Exited 容器 | 保持 docker ps -a 干净 |
五、打包镜像时高效利用缓存
- 总结:
dockerfile中有改动的部分放在最后
Docker 镜像分层缓存(Layer Cache)是由 Docker 引擎控制的,但它的行为受 Dockerfile 编写方式和构建上下文的影响。
1️⃣ Docker 引擎如何判断缓存是否可用?
✅ 好的写法(利于缓存):
FROM ubuntu:22.04
WORKDIR /app
# 先拷贝依赖文件,尽早利用缓存
COPY requirements.txt .
RUN pip install -r requirements.txt
✅ 只要 requirements.txt 不变,RUN pip install... 就能一直用缓存。
❌ 差的写法(破坏缓存):
FROM ubuntu:22.04
WORKDIR /app
# 先拷贝全部源码(经常变)
COPY . .
# 再安装依赖
RUN pip install -r requirements.txt
❌ 每次代码改动都会导致 COPY . . 层失效,后面的 pip install 也会被连带重建,缓存利用率极低。
六、镜像加速
修改 /etc/docker/daemon.json为
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1ms.run",
"https://mirror.ccs.tencentyun.com",
"https://docker.nju.edu.cn"
],
"dns": ["114.114.114.114", "8.8.8.8", "223.5.5.5"]
}
七、其他命令
7.1 docker compose 启动与停止
- 启动
docker compose up -d
- 停止
在docker-compose.yaml目录下执行
docker compose down
更多推荐
所有评论(0)