docker-compose中启动镜像失败的几种解决方法

2023-12-01 0 352
目录
  • 正常的docker run启动
  • docker-compose启动失败
  • 控制终端缺失
  • 使用tty参数(推荐使用)
  • 使用exec重新创建容器(不推荐)

正常的docker run启动

**java:8u111-jdk**是java官方镜像,如下命令可以成功启动一个该镜像的容器:

docker run –name test001 -idt java:8u111-jdk

以上命令创建的容器,可用docker exec -it test001 /bin/bash进入容器,执行我们所需的操作;

docker-compose启动失败

这里写个最简单的docker-compose.yml,然后用docker-compse,内容如下:

master:
image: java:8u111-jdk

在此文件所在目录下执行docker-compose up -d启动容器,再执行docker ps -a查看容器状态,信息如下所示:

root@rabbitmq:/usr/local/work/test# docker-compose up -d
Creating test_master_1 … done
root@rabbitmq:/usr/local/work/test# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb433fe9984d java:8u111-jdk \”/bin/bash\” About a minute ago Exited (0) About a minute ago test_master_1

信息显示我们启动的容器状态为Exited (0) About a minute ago,也就是说虽然创建了容器,但是该容器并未正常运行;

控制终端缺失

启动失败是因为缺失了控制终端的配置,这里有两种方式修复;

使用tty参数(推荐使用)

修改docker-compose.yml,增加一个配置tty:true,如下:

master:
image: java:8u111-jdk
tty: true

先执行docker-compose down将之前的容器删除,再执行docker-compose up -d启动,可以发现启动成功,并且可以成功进入容器进行操作:

root@rabbitmq:/usr/local/work/test# docker-compose up -d
Creating test_master_1 … done
root@rabbitmq:/usr/local/work/test# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f51debaa26ec java:8u111-jdk \”/bin/bash\” 2 seconds ago Up 2 seconds test_master_1
root@rabbitmq:/usr/local/work/test# docker exec -it test_master_1 /bin/bash
root@f51debaa26ec:/# java -version
openjdk version \”1.8.0_111\”
OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2~bpo8+1-b14)
OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)

使用exec重新创建容器(不推荐)

这种方式并不推荐,因为这样做虽然可以启动容器,但是只能重新创建一个容器,具体方法如下:

  • 使用docker-compose up -d命令启动后,由于没有tty:true的配置,容器就退出了;
  • 这时候执行命令docker-compose run master /bin/bash,会创建一个容器,并且进入这个容器;
  • 在当前电脑再打开一个控制台,执行docker ps命令,发现新建了一个容器,状态正常;

到此这篇关于docker-compose中启动镜像失败的几种解决方法的文章就介绍到这了,更多相关docker-compose 启动镜像失败内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Linux服务器 docker-compose中启动镜像失败的几种解决方法 https://www.u-9.cn/server/linux/2930.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务