所以在开始这个问题之前,这里是我对码头工人的理解。
现在,我不想采用DockerFile
的方法,在这里指定创建容器时要执行的步骤。
我想在Linux上安装一些基本的实体,如MongoDb、Redis等,并在它们上运行我的服务器。
于是我就这样开始了:
Docker create-h abc.com--name abc.com 18261DF960118..7A16
它返回给我容器的id。
但每次它都在说:
请帮助我做错的地方,这可能是一个新手的问题,但我被困在这里,请不要反对相同的投票。
提前道谢。
编辑:在我最初的帖子中,我提到:“试着像VM那样思考”。我最近陷入了这样的困境,它说不要这样做:
不要把容器看作是一个迷你VM,而是把它看作一个进程。
还有一篇值得阅读的文章:容器不是虚拟机
docker container create -it --name test ubuntu
445cad0a3afea97494635361316e5869ad3b9ededdd6db46d2c86b4c1461fb75
$ docker container start test
test
$ docker container exec -it test bash
root@445cad0a3afe:/# your are inside, you can type your commands here!
您可以使用类似nginx
的图像来测试这一点。如果您运行一个新的nginx容器并尝试附加到它,您将看到来自nginx的日志正在被打印出来,并且您无法在shell中键入任何命令。发生这种情况的原因是映像的CMD如下所示:
# Define default command.
CMD ["nginx"]
为了能够“附加”到这样的容器,同时也能够使用shell(其他一些人可能也会提到这一点,比如在容器上执行与ssh
等价的操作),您必须运行:
docker container exec -it your_container_name bash
我建议你也读一读:
>
是否可以在运行的容器中启动shell会话(不使用ssh)
Docker-输入带有新TTY的运行容器
如何连接和分离Docker的进程?
~jpetazzo:如果您在Docker容器中运行SSHD,您就做错了!
我有一个运行播放web应用程序的docker映像。在dockerfile中有一个CMD,它启动服务器,并等待您按下Ctrl+D退出。如果我这样做: 它工作正常-启动服务器并等待Ctrl+D。 然而,当我启动容器时,情况并非如此: 如何强制docker start不停止服务器?
本文向大家介绍解决docker run 或者 docker restart 启动镜像就自动退出,包括了解决docker run 或者 docker restart 启动镜像就自动退出的使用技巧和注意事项,需要的朋友参考一下 执行命令:docker run --name centos8 -d centos /bin/bash,通过docker ps查看正在运行中容器,找不到centos8。 通过do
问题内容: 我使用以下命令创建了容器: 以下是命令: 真的没有太多要说的,我希望容器能启动并保持正常运行。这是日志: 问题答案: 您正在尝试运行,它是需要tty 才能运行的交互式外壳。使用,在“分离”模式下运行此命令实际上没有任何意义,但是您可以通过添加到命令行来做到这一点,以确保容器具有与其关联的有效tty并保持连接状态: 在启动分离的容器时,您通常会运行某种长期存在的非交互式进程(例如,或We
问题内容: 我是Docker的新手。安装Docker Toolbox(OS:Windows 10)之后,我运行Docker Quickstart Terminal,并在控制台中看到以下内容: 我做错什么了?系统和安装步骤的所有检查均从此处进行。 非常感谢您的帮助! 问题答案: 在Windows 10计算机上安装Docker Toolbox时遇到了相同的错误。 解: 安装Docker Communi
问题内容: 我准备了一个docker-compose文件来部署带有数据库的容器: 没关系。但是现在我需要创建一个数据库并建立其结构。我需要执行一些sql命令。为了检查我是否能够做到这一点,我将其添加到服务中: 但是我遇到以下错误: 我感觉命令是在Sql Server实例启动之前执行的。我该如何解决?Sql Server启动后如何执行一些sql? 问题答案: 问题是在容器中仅执行一个命令。当您在其中
Dockerfile在Tomcat中正常工作。tomcat启动后,我必须触发ant脚本。catalina.sh是从一个单独的run.sh文件启动的。因此,Dockerfile具有CMD[“/tmp/run.sh”] run.sh文件有以下几行: catalina.sh运行 antscript Tomcat启动,但不调用ant脚本。我也尝试了其他的可能性,比如: catalina.sh运行&antS