docker - 构建的 Docker 映像似乎没有提交 RUN 命令
问题描述
我正在使用以下 Dockerfile 构建图像:
FROM ubuntu:16.04
RUN mkdir -pv /app && mkdir -pv /app/source
当它完成并且我登录到图像时,目录不存在。这是构建以及登录和列出目录的输出:
BOSM00645241A:docker_home i858847$ docker build -t my-test-image .
Sending build context to Docker daemon 78.02MB
Step 1/2 : FROM ubuntu:16.04
16.04: Pulling from library/ubuntu
7b8b6451c85f: Pull complete
ab4d1096d9ba: Pull complete
e6797d1788ac: Pull complete
e25c5c290bde: Pull complete
Digest: sha256:e547ecaba7d078800c358082088e6cc710c3affd1b975601792ec701c80cdd39
Status: Downloaded newer image for ubuntu:16.04
---> a51debf7e1eb
Step 2/2 : RUN mkdir -pv /app
---> Running in 9bc2264df0de
mkdir: created directory '/app'
Removing intermediate container 9bc2264df0de
---> f0b0c0a4e266
Successfully built f0b0c0a4e266
Successfully tagged my-test-image:latest
BOSM00645241A:docker_home i858847$ docker run -it --name my-test-image --rm bash
Unable to find image 'bash:latest' locally
latest: Pulling from library/bash
4fe2ade4980c: Pull complete
57ab8b6a12dc: Pull complete
f5cb10ae9311: Pull complete
Digest: sha256:360cdc0a48755a2701ed82156cd27d9e9f1a1f52c84b3b03a794d78f115c7e0f
Status: Downloaded newer image for bash:latest
bash-4.4# ls
bin dev etc home lib media mnt proc root run sbin srv sys tmp usr var
bash-4.4#
似乎创建了目录,但它们在图像中不存在
解决方案
Dockerfile:
FROM ubuntu:16.04
RUN mkdir -pv /app && mkdir -pv /app/source
然后您必须构建该图像:
docker build -t my-test-image -f ./Dockerfile .
然后你需要启动容器
docker run --rm -it my-test-image --name my-test-container bash
参数:
——它互动
--rm 退出后删除容器
--name 容器名称
要在容器中启动的 bash 命令
推荐阅读
- python - 在不使用 max 内置函数的情况下查找最大值和最大值的索引
- sql - 如何根据特定逻辑从任一表中加入和获取数据?
- python - Python Docstring 注释,大于和小于符号不显示
- https - 从 azure 函数调用外部 api 时证书未验证
- javascript - 如何使 DOM 元素在 SAPUI5 应用程序上可拖动?
- php - ErrorException 未定义的变量:
- python - 使用 Pandas,为什么列/系列标题未显示在输出顶部
- html - 如何将 utf-8 文本转换为 unicode 文本
- dynamics-365 - 获取 XML 和选项集
- node.js - 如何在不将其用作 sudo su 的情况下授予 mkdir 的 vscode 权限,我使用的是 mint 20