gpt4 book ai didi

docker - 为什么docker “--filter ancestor=imageName”找到错误的容器?

转载 作者:行者123 更新时间:2023-12-02 18:32:25 25 4
gpt4 key购买 nike

我有一个部署脚本,该脚本将生成新镜像,停止具有相同镜像名称的现有容器,然后从这些镜像启动新容器。

我在这里使用答案按图像名称停止容器:Stopping docker containers by image name - Ubuntu

但是此命令将停止没有指定图像名称的容器。我究竟做错了什么?

请参阅此处以观看docker停止错误的容器:

enter image description here

这是dockerfile:

FROM ubuntu:14.04
MAINTAINER j@eka.com

# Settings
ENV NODE_VERSION 5.11.0
ENV NVM_DIR /root/.nvm
ENV NODE_PATH $NVM_DIR/versions/node/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH

# Replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh

# Install libs
RUN apt-get update
RUN apt-get install curl -y
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash \
&& chmod +x $NVM_DIR/nvm.sh \
&& source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default
RUN apt-get clean

# Install app
RUN mkdir /app
COPY ./app /app

#Run the app
CMD ["node", "/app/src/app.js"]

我这样构建:
docker build -t "$serverImageName" .

然后开始像这样:
docker run -d -p "3000:"3000" -e db_name="$db_name" -e db_username="$db_username"  -e db_password="$db_password"  -e db_host="$db_host" "$serverImageName"

最佳答案

为什么不使用容器名称来区分您的环境?

docker run -d --rm --name nginx-dev nginx
40ca9a6db09afd78e8e76e690898ed6ba2b656f777b84e7462f4af8cb4a0b17d
docker run -d --rm --name nginx-qa nginx
347b32c85547d845032cbfa67bbba64db8629798d862ed692972f999a5ff1b6b
docker run -d --rm --name nginx nginx
3bd84b6057b8d5480082939215fed304e65eeac474b2ca12acedeca525117c36

然后使用docker ps
docker ps -f name=nginx$
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3bd84b6057b8 nginx "nginx -g 'daemon ..." 30 seconds ago Up 28 seconds 80/tcp, 443/tcp nginx

关于docker - 为什么docker “--filter ancestor=imageName”找到错误的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37255264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com