Acess bash docker-与Centos Image合影

时间:2017-01-04 10:15:14

标签: docker docker-compose

我为centos7构建一个dockerfile和一个docker-compose文件,用于将卷链接到容器并设置一些局部变量。当我用

启动容器时
docker-compose up --build

我的dockerfile完成了它的工作。启动容器后,它将以Exitcode 0退出。

我想通过shell访问我的容器。如何在不终止容器和保持开放的情况下做到这一点?

我的Dockerfile:

FROM centos:7
RUN yum -y update
CMD /bin/sh 

My Composer文件:

version: '2'
services:
 media:
  build: .
  volumes:
   - ./media:/media
   - ./media/bin/x86_64/release/:/usr/local/lib/
  command: bash
  environment:
   - LD_LIBRARY_PATH=usr/lib64:/usr/local/lib
  expose:
   - "8080"
   - "80"
   - "443"

有什么想法吗?

为了使其在正常的docker中保持打开状态已经解释,但不是在使用docker-compose的上下文中。

2 个答案:

答案 0 :(得分:1)

使用docker-compose run代替docker-compose up

$ docker-compose run --rm media /bin/bash
[root@54eb39f672c7 /]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

docker-compose up用于启动始终运行的服务。

另一方面,docker-compose run用于运行一次性命令。

docker-compose run没有--build选项。 如果要更改Dockerfile并重建图像,请使用docker-compose build

答案 1 :(得分:0)

添加-d以分离模式运行

docker-compose up -d --build