如何在Docker容器中启用颜色?

时间:2017-05-17 14:24:35

标签: bash docker docker-compose

上下文

我有一个Docker Compose,我用它运行几个容器。我的docker-compose.yml

version: '2'

services:
  web:
    build: ../application-web/
    ports:
     - "80:80"
    tty: true
    # Add a volume to link php code on the host and inside the container
    volumes:
     - ${application_PATH}:/usr/share/application
     - ${application_PATH}/docker_files/docker-assistant:/usr/share/assistant
    depends_on:
     - custom-php
     - custom-mysql
    links:
     - custom-php:custom-php
     - custom-mysql:custom-mysql

  custom-php:
    build: ../application-php/
    ports:
     - "50:50"
    tty: true
    volumes:
     - ${application_PATH}:/usr/share/application
     - ${application_PATH}/docker_files/docker-assistant:/usr/share/assistant

  custom-mysql:
    build: ../application-mysql/
    tty: true
    volumes:
     - ${MYSQL_DATA_PATH}:${MYSQL_DATA_PATH}
     - ${application_PATH}/sql:/usr/share/sql
     - /tmp/mysql:/var/data/mysql
    environment:
     - MYSQL_ALLOW_EMPTY_PASSWORD=yes
     - MYSQL_DATABASE=applicationdb
     - MYSQL_USER=root
     - TZ=Europe/Paris

我们使用custom-php容器在命令行中运行单元测试。在使用Docker之前,单元测试在终端中显示颜色(如果一切正常则为绿色,每个错误为红色,跳过蓝色测试)。

问题

现在,单位测试的返回都是相同的颜色。另外,当我使用docker exec -it compose_custom-php_1 bash将自己连接到正在运行的容器时,它也不会显示颜色。

我尝试添加环境变量TERM = xterm,就像这篇文章建议:Docker bash prompt not display color。 我把它放在我的Dockerfile中,它可以工作,因为现在可以执行一些不能正常工作的命令(例如ctrl + L)。但不是颜色......

问题

我的问题是什么?我做错了什么以及如何在Docker容器中启用颜色?

0 个答案:

没有答案