从dockerfile构建Docker映像后,我看到映像已成功构建,但我该如何处理它呢?我不应该能够运行它作为一个容器吗?
当前回答
请执行以下步骤:
$ docker图像 您将得到一个包含所有指定标记的本地Docker映像的列表。 $ docker运行image_name:tag_name 如果你没有指定tag_name,它会自动运行一个带有'latest'标签的图像。 除了image_name,还可以指定一个图像ID(没有tag_name)。
其他回答
要查看Docker主机上所有映像的列表,运行:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apache_snapshot latest 13037686eac3 22 seconds ago 249MB
ubuntu latest 00fd29ccc6f1 3 weeks ago 111MB
现在你可以在交互模式下运行Docker镜像作为容器:
$ docker run -it apache_snapshot /bin/bash
或者,如果您在本地没有任何图像,请搜索Docker Hub以下载图像:
$ docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian... 6759 [OK]
dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openss... 141 [OK]
rastasheep/ubuntu-sshd Dockerized SSH ser... 114 [OK]
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS w... 88 [OK]
ubuntu-upstart Upstart is an even... 80 [OK]
使用Docker Pull命令从存储库中拉出Docker映像:
$ docker pull ubuntu
将Docker镜像作为容器运行:
$ docker run -it ubuntu /bin/bash
下面是一个在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映像 $ docker图像 如果你的应用程序想在80端口上运行,你可以暴露一个不同的端口来本地绑定,比如8080: $ docker run -d——restart=always -p 8080:80 image_name:version
我也有同样的问题。我运行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
对于那些有同样的问题,但遇到错误的人
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
推荐文章
- Mac/OS X上的/var/lib/docker在哪里
- 如何用docker-compose标记docker图像
- 从环境文件中读入环境变量
- 禁用特定RUN命令的缓存
- 从Docker容器获取环境变量
- E: gnupg, gnupg2和gnupg1似乎没有安装,但是这个操作需要其中一个
- 如何从docker更改默认docker注册表。IO到我的私人注册表?
- Docker- compose无法连接到Docker Daemon
- 单个命令停止和删除docker容器
- 使用GPU从docker容器?
- 如何使用本地映像作为dockerfile的基本映像?
- 谁能解释一下docker.sock
- 多重from是什么意思
- 通过映像名称停止Docker容器- Ubuntu
- 如果dockerfile的名称不是dockerfile,我如何构建一个dockerfile ?