假设我有一张图片 me/mystuff:v0.0.1
我发现是否将其推送到存储库:
docker push me/mystuff:v0.0.1
Run Code Online (Sandbox Code Playgroud)
latest 没有被创建,并且从另一台机器拉出它会抱怨,例如
ssh me@faraway
(faraway) $ docker run -it me/mystuff /bin/bash
Run Code Online (Sandbox Code Playgroud)
将导致未找到错误 me/mystuff:latest
我可以添加最新的标记并显式推送到公共存储库:
docker login me
docker tag me/mystuff:v0.0.1 me/mystuff:latest
docker push me/mystuff:latest
Run Code Online (Sandbox Code Playgroud)
然后从另一台机器:
docker pull me/mystuff
Run Code Online (Sandbox Code Playgroud)
会有效,因为最新的存在.
我也发现,一旦最新存在,当推送新的编号版本时它不会自动更新.
我可以以某种方式消除这个手动标记最新的步骤并最新自动指向最新编号的版本?
或者是出于某种原因,例如允许从生产版本(标记为最新版本)中分离开发版本(仅使用vN.NN标记)?
我正在从 Docker 官方网站开始“入门”指南。在第 4 部分“共享应用程序”中,当我尝试从 play-with-docker.com 在 docker hub 上运行我的映像时,我遇到了此错误消息。
WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested
Run Code Online (Sandbox Code Playgroud)
我从我的苹果 M1 笔记本电脑构建了图像:
FROM node:12-alpine
# Adding build tools to make yarn install work on Apple silicon / arm64 machines
RUN apk add --no-cache python2 g++ make
WORKDIR /app
COPY . .
RUN yarn install --producti
CMD ["node", "src/index.js"]
Run Code Online (Sandbox Code Playgroud) 关于这个主题的唯一文档似乎假设我已经知道清单是什么,它解决的问题,以及它如何适应docker生态系统.阅读文档后,我仍然不确定清单是如何实际工作的.
我的私人GCR包含清单文件 - 并不真正了解它们的用途.docker hub是否也使用清单文件?我可以看到它们包含每层的图层和哈希,但我仍然不清楚docker如何生成/使用它们.
容器清单的目的是什么?
我想总是拉一个特定的版本,而不仅仅是最新版本.
一个随机的例子:https://registry.hub.docker.com/u/aespinosa/jenkins/builds_history/9511/
我这样做是因为我只想部署我审核过的版本.这目前可能吗?还是我被迫分叉他们自己做?
正在minikube用于测试部署并正在通过此链接
我的部署清单文件就像
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webapp
spec:
replicas: 1
template:
metadata:
labels:
app: webapp
spec:
containers:
- name: webapp
imagePullPolicy: Never # <-- here we go!
image: sams
ports:
- containerPort: 80
Run Code Online (Sandbox Code Playgroud)
在此之后,当我尝试执行以下命令时得到输出
user@usesr:~/Downloads$ kubectl create -f mydeployment.yaml --validate=false
deployment "webapp" created
user@user:~/Downloads$ kubectl get deployments
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
---- -------- ------- ---------- --------- ----
webapp 1 1 1 0 9s
user@user:~/Downloads$ kubectl get pods
NAME READY STATUS RESTARTS AGE …Run Code Online (Sandbox Code Playgroud) 让我们说一个官方docker基础图像ubuntu:latest,我有一个dockerhub帐户myaccount.如何克隆ubuntu:latest到myaccount存储库?然后可以如下介绍工作流程,
$ docker pull myaccount/ubuntu:latest
$ docker run -it myaccount/ubuntu:latest /bin/bash
# root@mycontainer: apt-get install onepackage
# root@mycontainer: exit
$ docker commit mycontainer myaccount/ubuntu:latest-new
$ docker push myaccount/ubuntu:latest-new
Run Code Online (Sandbox Code Playgroud)
我push只需latest-new减去delta latest.
我是docker的新手,我正在尝试将我的AWS EC2 AMI导入docker镜像.该图像是m2 linux图像.
我还设置了一个私人码头中心(神器),我打算将图像推送到其中并使其可供使用.将AMI导入docker镜像而不从基本图像开始并更新的步骤是什么.
任何解释的指针也会起作用.
我正在尝试运行docker pull ibmblockchain/fabric-peer命令,但是我收到一条错误消息,即来自守护进程的错误响应:清单为ibmblockchain/fabric-peer:最新未找到.有没有其他方法来拉这个图像.还试图拉另一个图像,但得到相同的错误信息.
我是docker的初学者,我正在使用Windows机器.但我在使用卷装入文件时遇到问题.该文档说明了OSX和Windows上挂载文件的以下内容:
官方码头文档:
注意:如果您在Mac或Windows上使用Docker Machine,则Docker守护程序只能访问您的OS X/Windows文件系统.Docker Machine尝试自动共享您的/ Users(OS X)或C:\ Users(Windows)目录 - 因此您可以使用docker run -v/Users /:/ ...(OS X)安装文件或目录,或者docker run -v/c/Users /:/
我有一个小的nginx Dockerfile
Dockerfile
FROM centos:6.6 MAINTAINER afym ENV WEBPORT 80 RUN yum -y update; yum clean all RUN yum -y install epel-release; yum clean all RUN yum -y install nginx; yum clean all RUN echo "daemon off;" >> /etc/nginx/nginx.conf VOLUME /usr/share/nginx/html EXPOSE $WEBPORT CMD [ "/usr/sbin/nginx" ]
创建一个简单的容器
docker run -d --name simple -p 8082:80 ng1
8875448c01a4787f1ffe4c4c5c492efb039e452eff957391ac52a08915e18d66
创建具有卷的容器
我的Windows主机目录
使用-v选项创建docker容器
docker …
docker ×10
dockerhub ×10
dockerfile ×2
apple-m1 ×1
docker-image ×1
gcp ×1
kubectl ×1
kubernetes ×1
minikube ×1