我一直在我的电脑上使用Docker来运行Quantum GIS,我在这里找到了以下说明:Docker - QGIS -desktop -一个简单的Docker容器,运行QGIS桌面
一切都运行良好,直到上周,我开始得到这个错误消息:
来自守护进程的错误响应:冲突。
容器235566ae17b8已经使用了名称“qgis-desktop-2-4”。
您必须删除(或重命名)该容器才能重用该名称。
尽管我在这个网站上寻找线索,但我不完全确定这意味着什么。在此之前,我没有改变任何东西,并且已经成功地使用这个命令启动了容器:
sudo docker run --rm --name="qgis-desktop-2-4" -i -t -v ${HOME}:/home/${USER} -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY kartoza/qgis-desktop:latest
我该如何解决这个问题?
对于像我这样从谷歌登陆到这里,只想用多个docker-compose文件和一个共享服务来构建容器的人:
有时候你有不同的项目可以共享,比如一个数据库docker容器。只有第一次运行应该启动DB- docker,第二次应该检测DB已经在运行并跳过这一步。为了实现这样的行为,我们需要docker位于同一个网络和同一个项目中。docker容器名也需要相同。
第一:在docker-compose中设置相同的网络和容器名称
项目1中的Docker-compose:
version: '3'
services:
service1:
depends_on:
- postgres
# ...
networks:
- dockernet
postgres:
container_name: project_postgres
image: postgres:10-alpine
restart: always
# ...
networks:
- dockernet
networks:
dockernet:
项目2中的Docker-compose:
version: '3'
services:
service2:
depends_on:
- postgres
# ...
networks:
- dockernet
postgres:
container_name: project_postgres
image: postgres:10-alpine
restart: always
# ...
networks:
- dockernet
networks:
dockernet:
第二步:使用-p param设置同一个项目,或者将两个文件放在同一个目录下。
Docker-compose -p {projectname} up
对于像我这样从谷歌登陆到这里,只想用多个docker-compose文件和一个共享服务来构建容器的人:
有时候你有不同的项目可以共享,比如一个数据库docker容器。只有第一次运行应该启动DB- docker,第二次应该检测DB已经在运行并跳过这一步。为了实现这样的行为,我们需要docker位于同一个网络和同一个项目中。docker容器名也需要相同。
第一:在docker-compose中设置相同的网络和容器名称
项目1中的Docker-compose:
version: '3'
services:
service1:
depends_on:
- postgres
# ...
networks:
- dockernet
postgres:
container_name: project_postgres
image: postgres:10-alpine
restart: always
# ...
networks:
- dockernet
networks:
dockernet:
项目2中的Docker-compose:
version: '3'
services:
service2:
depends_on:
- postgres
# ...
networks:
- dockernet
postgres:
container_name: project_postgres
image: postgres:10-alpine
restart: always
# ...
networks:
- dockernet
networks:
dockernet:
第二步:使用-p param设置同一个项目,或者将两个文件放在同一个目录下。
Docker-compose -p {projectname} up