删除 Gitlab docker 个容器
Remove Gitlab docker containers
最近我尝试使用 docker 和 docker-compose 在 Ubuntu 机器上安装 Gitlab。这只是为了测试,所以我可以稍后将它安装在其他机器上。
但是,我对 removing/deleting gitlab 容器有疑问。
我尝试 docker-compose down 并杀死与 gitlab 容器相关的所有进程,但即使我以某种方式设法删除图像,它们也会继续重启。
这是我的docker-compose.yml文件
version: "3.6"
services:
gitlab:
image: gitlab/gitlab-ee:latest
ports:
- "2222:22"
- "8080:80"
- "8081:443"
volumes:
- $GITLAB_HOME/data:/var/opt/gitlab
- $GITLAB_HOME/logs:/var/log/gitlab
- $GITLAB_HOME/config:/etc/gitlab
shm_size: '256m'
environment:
GITLAB_OMNIBUS_CONFIG: "from_file('/omnibus_config.rb')"
configs:
- source: gitlab
target: /omnibus_config.rb
secrets:
- gitlab_root_password
gitlab-runner:
image: gitlab/gitlab-runner:alpine
deploy:
mode: replicated
replicas: 4
configs:
gitlab:
file: ./gitlab.rb
secrets:
gitlab_root_password:
file: ./root_password.txt
我尝试终止进程的一些命令:
kill -9 $(ps aux | grep gitlab | awk '{print }')
docker rm -f $(docker ps -aqf name="gitlab") && docker rmi --force $(docker images | grep gitlab | awk '{print }')
我还尝试更新没有重启策略的容器:
docker update --restart=no container-id
但这一切似乎都不起作用。
这是dockerps回复:
591e43a3a8f8 gitlab/gitlab-ee:latest "/assets/wrapper" 4 minutes ago Up 4 minutes (health: starting) 22/tcp, 80/tcp, 443/tcp mystack_gitlab.1.0r77ff84c9iksmdg6apakq9yr
6f0887a8c4b1 gitlab/gitlab-runner:alpine "/usr/bin/dumb-init …" 16 minutes ago Up 16 minutes mystack_gitlab-runner.3.639u8ht9vt01r08fegclfyrr8
73febb9bb8ce gitlab/gitlab-runner:alpine "/usr/bin/dumb-init …" 16 minutes ago Up 16 minutes mystack_gitlab-runner.4.m1z1ntoewtf3ipa6hap01mn0n
53f63187dae4 gitlab/gitlab-runner:alpine "/usr/bin/dumb-init …" 16 minutes ago Up 16 minutes mystack_gitlab-runner.2.9vo9pojtwveyaqo166ndp1wja
0bc954c9b761 gitlab/gitlab-runner:alpine "/usr/bin/dumb-init …" 16 minutes ago Up 16 minutes mystack_gitlab-runner.1.pq0njz94v272s8if3iypvtdqo
关于我应该寻找什么的任何想法?
我找到了解决方案。问题是我没有使用
docker-compose up -d
启动我的容器。相反,我使用了
docker stack deploy --compose-file docker-compose.yml mystack
如文档中所写。
由于我对 docker 堆栈了解不多,所以我进行了快速的互联网搜索。
这是我找到的文章:
https://vsupalov.com/difference-docker-compose-and-docker-stack/
The Difference Docker stack is ignoring “build” instructions. You
can’t build new images using the stack commands. It need pre-built
images to exist. So docker-compose is better suited for development
scenarios.
There are also parts of the compose-file specification which are
ignored by docker-compose or the stack commands.
据我了解,问题在于堆栈仅使用 pre-built 图像并忽略了一些 docker-compose 命令,例如重启策略。
这就是为什么
docker update --restart=no container-id
没用。
我仍然不明白为什么终止所有进程并删除 containers/images 不起作用。我想肯定有一些我没有找到的父进程。
最近我尝试使用 docker 和 docker-compose 在 Ubuntu 机器上安装 Gitlab。这只是为了测试,所以我可以稍后将它安装在其他机器上。
但是,我对 removing/deleting gitlab 容器有疑问。
我尝试 docker-compose down 并杀死与 gitlab 容器相关的所有进程,但即使我以某种方式设法删除图像,它们也会继续重启。
这是我的docker-compose.yml文件
version: "3.6"
services:
gitlab:
image: gitlab/gitlab-ee:latest
ports:
- "2222:22"
- "8080:80"
- "8081:443"
volumes:
- $GITLAB_HOME/data:/var/opt/gitlab
- $GITLAB_HOME/logs:/var/log/gitlab
- $GITLAB_HOME/config:/etc/gitlab
shm_size: '256m'
environment:
GITLAB_OMNIBUS_CONFIG: "from_file('/omnibus_config.rb')"
configs:
- source: gitlab
target: /omnibus_config.rb
secrets:
- gitlab_root_password
gitlab-runner:
image: gitlab/gitlab-runner:alpine
deploy:
mode: replicated
replicas: 4
configs:
gitlab:
file: ./gitlab.rb
secrets:
gitlab_root_password:
file: ./root_password.txt
我尝试终止进程的一些命令:
kill -9 $(ps aux | grep gitlab | awk '{print }')
docker rm -f $(docker ps -aqf name="gitlab") && docker rmi --force $(docker images | grep gitlab | awk '{print }')
我还尝试更新没有重启策略的容器:
docker update --restart=no container-id
但这一切似乎都不起作用。
这是dockerps回复:
591e43a3a8f8 gitlab/gitlab-ee:latest "/assets/wrapper" 4 minutes ago Up 4 minutes (health: starting) 22/tcp, 80/tcp, 443/tcp mystack_gitlab.1.0r77ff84c9iksmdg6apakq9yr
6f0887a8c4b1 gitlab/gitlab-runner:alpine "/usr/bin/dumb-init …" 16 minutes ago Up 16 minutes mystack_gitlab-runner.3.639u8ht9vt01r08fegclfyrr8
73febb9bb8ce gitlab/gitlab-runner:alpine "/usr/bin/dumb-init …" 16 minutes ago Up 16 minutes mystack_gitlab-runner.4.m1z1ntoewtf3ipa6hap01mn0n
53f63187dae4 gitlab/gitlab-runner:alpine "/usr/bin/dumb-init …" 16 minutes ago Up 16 minutes mystack_gitlab-runner.2.9vo9pojtwveyaqo166ndp1wja
0bc954c9b761 gitlab/gitlab-runner:alpine "/usr/bin/dumb-init …" 16 minutes ago Up 16 minutes mystack_gitlab-runner.1.pq0njz94v272s8if3iypvtdqo
关于我应该寻找什么的任何想法?
我找到了解决方案。问题是我没有使用
docker-compose up -d
启动我的容器。相反,我使用了
docker stack deploy --compose-file docker-compose.yml mystack
如文档中所写。
由于我对 docker 堆栈了解不多,所以我进行了快速的互联网搜索。 这是我找到的文章: https://vsupalov.com/difference-docker-compose-and-docker-stack/
The Difference Docker stack is ignoring “build” instructions. You can’t build new images using the stack commands. It need pre-built images to exist. So docker-compose is better suited for development scenarios.
There are also parts of the compose-file specification which are ignored by docker-compose or the stack commands.
据我了解,问题在于堆栈仅使用 pre-built 图像并忽略了一些 docker-compose 命令,例如重启策略。 这就是为什么
docker update --restart=no container-id
没用。
我仍然不明白为什么终止所有进程并删除 containers/images 不起作用。我想肯定有一些我没有找到的父进程。