从dockerfile构建Docker映像后,我看到映像已成功构建,但我该如何处理它呢?我不应该能够运行它作为一个容器吗?


当前回答

使用下面的命令获取您想要运行的映像的名称或id:

docker images

Docker run命令的使用方法如下:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

下面在指定映像名称或id之前,我已经包括了dispatch、name、publish、volume和restart选项:

docker run -d --name  container-name -p localhost:80:80 -v $HOME/myContainer/configDir:/myImage/configDir --restart=always image-name

地点:

--detach , -d        Run container in background and print container ID
--name                Assign a name to the container
--publish , -p        Publish a container’s port(s) to the host
--volume , -v        Bind mount a volume
--restart            Restart policy to apply when a container exits

有关更多信息,请查看官方Docker运行参考。

其他回答

下面是一个在Docker中运行webdev服务的例子。 映像的名称是morrisjobke/webdav。您可以从Docker Hub中获取它。

运行这些映像之后,就可以在http://localhost:8888/webdav上访问WebDAV实例。在内部,文件夹/var/webdav被用作WebDAV的根目录。

你可以通过以下方式运行这个容器:

$ docker run -d -e USERNAME=test -e PASSWORD=test -p 8888:80 morrisjobke/webdav

我也有同样的问题。我运行Docker映像,它创建了一个带有特定CONTAINER_ID的容器。我想使用相同的容器:

首先运行Docker映像:

docker run -it -p 8888:8888 -p 6006:6006 -v ~/:/host waleedka/modern-deep-learning

然后列出你做过的所有容器:

sudo docker ps -a

然后选择你想要使用的容器(我的是167ddd6d7f15):

sudo docker start -ai 167ddd6d7f15

使用下面的命令获取您想要运行的映像的名称或id:

docker images

Docker run命令的使用方法如下:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

下面在指定映像名称或id之前,我已经包括了dispatch、name、publish、volume和restart选项:

docker run -d --name  container-name -p localhost:80:80 -v $HOME/myContainer/configDir:/myImage/configDir --restart=always image-name

地点:

--detach , -d        Run container in background and print container ID
--name                Assign a name to the container
--publish , -p        Publish a container’s port(s) to the host
--volume , -v        Bind mount a volume
--restart            Restart policy to apply when a container exits

有关更多信息,请查看官方Docker运行参考。

对于那些有同样的问题,但遇到错误的人

rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"bash\": executable file not found in $PATH"

我添加了一个对我有用的切入点:

docker运行-it——entrypoint /bin/sh来查看没有Bash的图片。

示例(来自已批准的示例):

run -it --entrypoint /bin/sh ubuntu:12.04

参考:https://gist.github.com/mitchwongho/11266726

请执行以下步骤:

$ docker图像 您将得到一个包含所有指定标记的本地Docker映像的列表。 $ docker运行image_name:tag_name 如果你没有指定tag_name,它会自动运行一个带有'latest'标签的图像。 除了image_name,还可以指定一个图像ID(没有tag_name)。