已创建 Docker 容器进程未列出
Created Docker Container process not getting listed
已创建 Docker 容器进程未显示使用命令 docker ps --all
我在一个目录中只创建了一个Docker文件,并且是目录中的一个可用文件。
Docker文件包含以下行:
# Use an existing docker image as a base
FROM alpine
# Download and install a dependency
RUN apk add --update redis
# Tell the image what to do when it starts
# as a container
CMD ["redis-server"]
保存名为“Dockerfile”且没有任何扩展名的文件后,我只是执行使用 docker build .
构建的命令
日志如下:
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM alpine
---> a24bb4013296
Step 2/3 : RUN apk add --update redis
---> Using cache
---> 218559ae3e9b
Step 3/3 : CMD ["redis-server"]
---> Using cache
---> fc607b62e266
Successfully built fc607b62e266
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.
因此,如上所述,您可以看到容器映像进程已成功构建,但仍然无法使用 docker ps --all
命令显示容器。
好吧,我正在使用 Windows 10 x64 OS 并确保没有防病毒软件或防火墙阻止此 docker。我在这里遗漏了什么或犯了什么错误吗?
docker ps
的工作方式类似于 unix 命令 ps
。它没有显示 可能 是 运行 的所有 docker 图像。它仅显示 运行 宁(或 -a
、 已经 docker 的容器运行).
您已经构建了一个 docker 图像,但您还没有 运行 使用 docker run
。
尝试docker run --rm -it fc607b62e266
,如果一切设置正确,它应该会启动您的 redis 服务器。 (--rm
停止时删除容器 运行ning,通常是一个很好的做法,除非您希望它持续存在)。
您将在 docker images
的输出中看到您的新图像,而不是 container,因为它尚未实例化。添加一个 -t
标志为您的 docker build
命令添加一个标签,您将在该名称下看到它,否则,您始终可以使用图像参考。
一个容器只会 运行 当它的底层“根进程”是 运行ning 时。当 运行 启动像 redis-server
这样的服务时,这意味着容器将 运行 直到发出信号(docker 服务重启、系统重启或 docker kill
)。
虽然 是 运行ning,但是 docker exec
可以在容器内执行更多进程。这些中的每一个都是一个单独的进程,但所有这些都将在“根进程”结束时终止。当然,反之则不然——结束 exec
ed 进程不会影响“根进程”。
已创建 Docker 容器进程未显示使用命令 docker ps --all
我在一个目录中只创建了一个Docker文件,并且是目录中的一个可用文件。
Docker文件包含以下行:
# Use an existing docker image as a base
FROM alpine
# Download and install a dependency
RUN apk add --update redis
# Tell the image what to do when it starts
# as a container
CMD ["redis-server"]
保存名为“Dockerfile”且没有任何扩展名的文件后,我只是执行使用 docker build .
日志如下:
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM alpine
---> a24bb4013296
Step 2/3 : RUN apk add --update redis
---> Using cache
---> 218559ae3e9b
Step 3/3 : CMD ["redis-server"]
---> Using cache
---> fc607b62e266
Successfully built fc607b62e266
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.
因此,如上所述,您可以看到容器映像进程已成功构建,但仍然无法使用 docker ps --all
命令显示容器。
好吧,我正在使用 Windows 10 x64 OS 并确保没有防病毒软件或防火墙阻止此 docker。我在这里遗漏了什么或犯了什么错误吗?
docker ps
的工作方式类似于 unix 命令 ps
。它没有显示 可能 是 运行 的所有 docker 图像。它仅显示 运行 宁(或 -a
、 已经 docker 的容器运行).
您已经构建了一个 docker 图像,但您还没有 运行 使用 docker run
。
尝试docker run --rm -it fc607b62e266
,如果一切设置正确,它应该会启动您的 redis 服务器。 (--rm
停止时删除容器 运行ning,通常是一个很好的做法,除非您希望它持续存在)。
您将在 docker images
的输出中看到您的新图像,而不是 container,因为它尚未实例化。添加一个 -t
标志为您的 docker build
命令添加一个标签,您将在该名称下看到它,否则,您始终可以使用图像参考。
一个容器只会 运行 当它的底层“根进程”是 运行ning 时。当 运行 启动像 redis-server
这样的服务时,这意味着容器将 运行 直到发出信号(docker 服务重启、系统重启或 docker kill
)。
虽然 是 运行ning,但是 docker exec
可以在容器内执行更多进程。这些中的每一个都是一个单独的进程,但所有这些都将在“根进程”结束时终止。当然,反之则不然——结束 exec
ed 进程不会影响“根进程”。