最近,我尝试安装在Ubuntu机器上的Gitlab,使用的是码头和对接组合。这样做只是为了测试,所以以后我可以在其他机器上安装它。
但是,我在删除/删除gitlab容器时遇到了问题。
我试着编写和销毁所有与gitlab容器相关的进程,但是即使我设法删除了图像,它们也会继续重新启动。
这是我的docker-复合. file文件
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 $2}')
docker rm -f $(docker ps -aqf name="gitlab") && docker rmi --force $(docker images | grep gitlab | awk '{print $3}')我还尝试在没有重新启动策略的情况下更新容器:
docker update --restart=no container-id但这一切似乎都没有用。
这是码头ps响应:
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知道我该找什么吗?
发布于 2022-02-08 15:07:41
我找到了解决办法。问题是我没有用
docker-compose up -d来启动我的集装箱。相反,我用
docker stack deploy --compose-file docker-compose.yml mystack因为它是在文档中写的。
因为我对码头堆叠不太了解,所以我做了一个快速的网络搜索。这是我发现的一篇文章:https://vsupalov.com/difference-docker-compose-and-docker-stack/
差异码头堆栈忽略了“构建”指令。不能使用堆栈命令生成新图像。它需要预先建立的图像才能存在。因此,坞-组合更适合于开发场景。
也有一些部分的复合文件规范被停靠者-撰写或堆栈命令忽略。
据我所知,问题在于堆栈只使用预先构建的映像,而忽略了一些停靠-组合命令,如重新启动策略。怪不得
docker update --restart=no container-id没起作用。
我仍然不明白为什么杀死所有的进程和删除容器/图像不起作用。我想一定有一些我没发现的家长程序。
https://stackoverflow.com/questions/71011997
复制相似问题