首页 > 解决方案 > 构建的 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# 

似乎创建了目录,但它们在图像中不存在

标签: dockerdockerfile

解决方案


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 命令


推荐阅读