ここで見つけた指示に従ってQuantum GISを実行するためにDockerを使用しています: docker-qgis-desktop-QGISデスクトップを実行する単純なdockerコンテナー
このエラーメッセージが表示されるようになった先週まで、すべてが正常に動作していました。
デーモンからのエラー応答:競合。 「qgis-desktop-2-4」という名前は、コンテナ235566ae17b8ですでに使用されています。その名前を再利用できるようにするには、そのコンテナを削除(または名前変更)する必要があります。
このサイトで手がかりを探しているにも関わらず、これが何を意味するのか完全にはわかりません。私はこれが起こる前に何も変更しておらず、このコマンドでコンテナを正常に起動しています:
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
どうすれば修正できますか?
qgis-desktop-2-4
という名前のコンテナがシステムにすでに存在しているようです。以下のコマンドの出力を確認して、実際に存在するかどうかを確認できます。
$ docker ps -a
上記のコマンド出力の最後の列は名前用です。
コンテナが存在する場合は、次を使用して削除します。
$ docker rm qgis-desktop-2-4
または強制的に使用して、
$ docker rm -f qgis-desktop-2-4
そして、新しいコンテナを作成してみてください。
私のようなグーグルからここに着く人のために、1つの共有サービスで複数のdocker-composeファイルを使用してコンテナを構築したいだけです:
共有する異なるプロジェクトがある場合があります。データベースDockerコンテナ。最初の実行でのみDB-Dockerを起動し、2番目の実行ではDBが既に実行されていることを検出し、これをスキップする必要があります。このような動作を実現するには、同じnetworkと同じproject。また、dockerコンテナ名は同じである必要があります。
1st: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:
2nd:-p
param を使用して同じプロジェクトを設定するか、両方のファイルを同じディレクトリに配置します。
docker-compose -p {projectname} up