从dockerfile构建Docker映像后,我看到映像已成功构建,但我该如何处理它呢?我不应该能够运行它作为一个容器吗?
当前回答
具体的运行方式取决于你是否给图像一个标签/名称。
$ docker images
REPOSITORY TAG ID CREATED SIZE
ubuntu 12.04 8dbd9e392a96 4 months ago 131.5 MB (virtual 131.5 MB)
有一个名字(让我们使用Ubuntu):
$ docker run -i -t ubuntu:12.04 /bin/bash
没有名字,只使用ID:
$ docker run -i -t 8dbd9e392a96 /bin/bash
更多信息请参见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 images
然后您可以以分离模式运行,这样您的终端仍然可用。你有几个选项可以使用存储库名称(带或不带标签)或映像ID来运行它:
docker run -d repository
docker run -d repository:tag
docker run -d image_id
然后你可以检查你的容器正在使用
docker ps
docker ps给你一个容器ID。你可以使用它或只使用前2/3个字符进入你的容器使用:
docker exec -it container_id /bin/bash
你可以使用docker stop container_id和docker rm container_id来停止它。
你也可以使用-rm参数运行你的容器,这样如果你停止你的容器,它就会自动被删除。
请执行以下步骤:
$ docker图像 您将得到一个包含所有指定标记的本地Docker映像的列表。 $ docker运行image_name:tag_name 如果你没有指定tag_name,它会自动运行一个带有'latest'标签的图像。 除了image_name,还可以指定一个图像ID(没有tag_name)。
由于您已经从Dockerfile中创建了一个映像,因此该映像当前不是处于活动状态。为了工作,您需要在容器中运行此映像。
$ docker images命令描述当前本地存储库中有多少映像可用。 而且
docker ps -a
显示当前有多少容器可用,即活动容器和退出容器的列表。
在容器中运行映像有两种方式:
$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
分离模式:
-d=false: Detached mode: Run container in the background, print new container id
交互模式:
-i :Keep STDIN open even if not attached
下面是Docker run命令
$ docker run image_name:tag_name
有关Docker运行的更多说明,请访问Docker运行参考。
这是理解Docker的最好材料。
$ docker images
REPOSITORY TAG IMAGE ID CREATED
jamesmedice/marketplace latest e78c49b5f380 2 days ago
jamesmedice/marketplace v1.0.0 *e78c49b5f380* 2 days ago
$ docker run -p 6001:8585 *e78c49b5f380*
推荐文章
- E: gnupg, gnupg2和gnupg1似乎没有安装,但是这个操作需要其中一个
- 如何从docker更改默认docker注册表。IO到我的私人注册表?
- Docker- compose无法连接到Docker Daemon
- 单个命令停止和删除docker容器
- 使用GPU从docker容器?
- 如何使用本地映像作为dockerfile的基本映像?
- 谁能解释一下docker.sock
- 多重from是什么意思
- 通过映像名称停止Docker容器- Ubuntu
- 如果dockerfile的名称不是dockerfile,我如何构建一个dockerfile ?
- 守护进程的错误响应:已被集装箱使用"
- 如何从DockerFile运行docker实例?
- 我是否试图连接到启用TLS的没有TLS的守护进程?
- Docker -一种访问主机USB或串行设备的方法?
- Docker:无效引用格式