我想运行3个Docker容器并启动一个简单的程序
我正在使用docker compose和DockerFile来运行和构建所有这些容器。在我想在Python应用程序中启动GUI之前,一切都很好。我使用Tkinter和Plot来显示我的应用程序,但每次启动docker compose文件时,都会出现如下错误:
_tkinter.TclError: couldn't connect to display "unix:1"
您可以看到以下文件:
docker-compose.yml
version: '3.1'
services:
mypython:
container_name: tsp_python
build:
context: .
dockerfile: ./config/python/Dockerfile
depends_on:
- db
- adminer
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix:rw
environment:
DISPLAY: unix$DISPLAY
db:
container_name: tsp_postgres
image: postgres:11
build:
context: .
dockerfile: ./config/postgres/Dockerfile
restart: always
ports:
- 5432:5432
volumes:
- db-data:/var/lib/postgresql/data
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_PASSWORD: ${DB_USER}
POSTGRES_USER: ${DB_PASSWORD}
adminer:
container_name: tsp_adminer
image: adminer
restart: always
ports:
- 8080:8080
depends_on:
- db
volumes:
db-data:
python Dockerfile:
FROM python:3.7.3
WORKDIR /code
RUN pip3 install --upgrade pip
COPY ./require.txt .
RUN pip install -r require.txt
COPY /src .
ENV PYTHONPATH "${PYTHONPATH}:/code"
EXPOSE 5432/tcp
CMD ["python", "__main__.py"]
目前没有回答
相关问题 更多 >
编程相关推荐