Как выйти из контейнера? - PullRequest
0 голосов
/ 18 апреля 2020

Я создал Dockerfile со следующим содержимым:

FROM ubuntu:bionic as builder

ARG DIGITALOCEAN_ACCESS_TOKEN

RUN apt-get update
RUN apt-get install -y curl

WORKDIR /app

RUN curl -L https://github.com/digitalocean/doctl/releases/download/v1.41.0/doctl-1.41.0-linux-amd64.tar.gz  | tar xz
RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
RUN curl -L https://github.com/argoproj/argo-cd/releases/download/v1.4.3/argocd-linux-amd64 -o argocd

RUN chmod +x ./argocd
RUN chmod +x ./kubectl

RUN mv ./argocd /usr/local/bin/
RUN mv ./kubectl /usr/local/bin/
RUN mv ./doctl /usr/local/bin/


CMD doctl auth init -t ${DIGITALOCEAN_ACCESS_TOKEN} \
    doctl account get \
    if [ $? -eq 1 ] then exit fi

Чего я пытаюсь достичь, когда doctl account get код возврата 1, тогда он не должен запускать контейнер.

Dockerfile выше не работает, как ожидалось. Что я делаю не так?

1 Ответ

0 голосов
/ 18 апреля 2020

Если я не ошибаюсь, вы имеете в виду запуск контейнера в фоновом режиме [не взаимодействуя с ним], поэтому вы можете запустить его в отдельном режиме, используя опцию -d

docker run -it -d image_name /bin/bash

, тогда вы можете используйте

docker exec container_id /bin/bash 

, чтобы снова работать с тем же контейнером

см. более подробный обзор выход Docker контейнер

вы можете искать Docker делают c тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...