docker - 如何退出容器?
问题描述
我创建了一个包含以下内容的 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 没有按预期工作。我究竟做错了什么?
解决方案
如果我没记错的话,你的意思是在后台启动容器[不与它交互],所以,你可以使用选项 -d 在分离模式下运行它
docker run -it -d image_name /bin/bash
那么你可以使用
docker exec container_id /bin/bash
再次工作到同一个容器
你也可以搜索 Docker 的文档。
推荐阅读
- javascript - Socket.io 和 Chat 应用程序出现 ERR_CONNECTION_REFUSED 错误
- javascript - Styled Components 如何转发 props?
- flutter - 如何解决未处理的异常:类型'String'不是'index'类型'int'的子类型
- java - 休眠限制以在列表中使用类似子句进行搜索
- node.js - onCall 云函数不要等待承诺完成
- ios - 在 iOS 的 Intents 扩展中访问 Cloud kit/Core Data 条目
- laravel - laravel-从下拉菜单中删除重复项
- jquery - JQuery.inArray 问题
- javascript - 带修改点的箭头
- f# - 无法在 Azure Pipeline 中构建 F# 项目