不通过 docker hub 怎样把 docker image 共享给别人
3个回答
2018-07-31 · 让城市更畅通,让出行更轻松!
迪蒙智慧交通
迪蒙智慧交通(深圳)有限公司,专门从事城市智慧交通整体解决方案的公司;是中国首家提供智慧停车、网约专车、汽车租赁、汽车金融等一站式智慧交通整体解决方案服务商。欢迎来公司考察,期待与您的合作!
向TA提问
关注
展开全部
Dockerfile 中 ADD 和 COPY 命令不能使用绝对路径,只能使用相对路径。 这点在官方文档中说的比较清楚 如果不是非要把文件 build 到 image里,可以通过 run container 的时候通过 -v 参数将 host 文件或目录加载/共享到 container 里。
快又稳
2024-10-28 广告
2024-10-28 广告
Apache基于域名的虚拟主机配置主要涉及到在Apache配置文件中为不同域名指定不同的网站目录和日志路径。配置时,需确保域名已正确指向服务器的IP地址。在Apache的`httpd-vhosts.conf`或类似配置文件中,为每个域名创建...
点击进入详情页
本回答由快又稳提供
展开全部
将ubuntu push到私有registry
docker push rd-server:5000/ubuntu
如何将ubuntu的所有分支都镜像到自己的私有仓库?
1.先打TAG,把需要的版本打上标签,然后进行推送
语句大概是这个样子的:
docker tag eb601b8965b8 rd-server:5000/ubuntu:raring
docker tag eb601b8965b8 rd-server:5000/ubuntu:13.04
docker tag 9f676bd305a4 rd-server:5000/ubuntu:saucy
docker tag 9f676bd305a4 rd-server:5000/ubuntu:13.10
docker tag 9cd978db300e rd-server:5000/ubuntu:precise
docker tag 9cd978db300e rd-server:5000/ubuntu:latest
docker tag 9cd978db300e rd-server:5000/ubuntu:12.04
docker tag 9cc9ea5ea540 rd-server:5000/ubuntu:lucid
docker tag 9cc9ea5ea540 rd-server:5000/ubuntu:10.04
docker tag 5ac751e8d623 rd-server:5000/ubuntu:quantal
docker tag 5ac751e8d623 rd-server:5000/ubuntu:12.10
开始推送
docker push rd-server:5000/ubuntu
如果返回的内容的最后一行是下面这个样子的
2014/03/14 08:22:14 push: }
请反复执行,没错,不要怀疑,请循环一直反复执行下去
docker pull rd-server:5000/ubuntu
直到不再出现 push:
}的字样
不知道这是docker的BUG还是本身设计是这样的,需要反复多次push才能将完整的tag推送到private
registry里,否则在客户端下载的时候总会提示某些image找不到,个人猜测可能是这么设计的,因为docker
image比较大,而一个repo会有很多的块文件,每次push的时候只Push一个块,好了,猜测就道这,活还是得干,所以,写个脚本解决手工的问题吧。
#!/bin/sh
#
#Copyright (c) 2014 ZhengXujin xujinzheng@gmail.com
#
server="127.0.0.1:5000"
index_repo_name="username/ubuntu"
private_repo_name="ubuntu"
echo "\n"
echo " ## ."
echo " ## ## ## =="
echo " ## ## ## ## ==="
echo " /""""""""""""""""\___/ ==="
echo " ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~"
echo " \______ o __/"
echo " \ \ __/"
echo " \____\______/"
echo "\n"
idx=0
is_continue=1
docker images|grep -q "$server/$private_repo_name"
if [[ $? -ne 0 ]]; then
docker images|grep $index_repo_name|awk -F" " '{printf("docker tag %s %s/%s:%s\n",$3,"'$server'","'$private_repo_name'",$2)}'|bash
fi
while [ $is_continue -eq 1 ]
do
docker push $server/$private_repo_name
is_continue=$?
let idx=$idx+1
echo "$(tput setaf 1)continue push, $idx times pushed. $(tput sgr
docker push rd-server:5000/ubuntu
如何将ubuntu的所有分支都镜像到自己的私有仓库?
1.先打TAG,把需要的版本打上标签,然后进行推送
语句大概是这个样子的:
docker tag eb601b8965b8 rd-server:5000/ubuntu:raring
docker tag eb601b8965b8 rd-server:5000/ubuntu:13.04
docker tag 9f676bd305a4 rd-server:5000/ubuntu:saucy
docker tag 9f676bd305a4 rd-server:5000/ubuntu:13.10
docker tag 9cd978db300e rd-server:5000/ubuntu:precise
docker tag 9cd978db300e rd-server:5000/ubuntu:latest
docker tag 9cd978db300e rd-server:5000/ubuntu:12.04
docker tag 9cc9ea5ea540 rd-server:5000/ubuntu:lucid
docker tag 9cc9ea5ea540 rd-server:5000/ubuntu:10.04
docker tag 5ac751e8d623 rd-server:5000/ubuntu:quantal
docker tag 5ac751e8d623 rd-server:5000/ubuntu:12.10
开始推送
docker push rd-server:5000/ubuntu
如果返回的内容的最后一行是下面这个样子的
2014/03/14 08:22:14 push: }
请反复执行,没错,不要怀疑,请循环一直反复执行下去
docker pull rd-server:5000/ubuntu
直到不再出现 push:
}的字样
不知道这是docker的BUG还是本身设计是这样的,需要反复多次push才能将完整的tag推送到private
registry里,否则在客户端下载的时候总会提示某些image找不到,个人猜测可能是这么设计的,因为docker
image比较大,而一个repo会有很多的块文件,每次push的时候只Push一个块,好了,猜测就道这,活还是得干,所以,写个脚本解决手工的问题吧。
#!/bin/sh
#
#Copyright (c) 2014 ZhengXujin xujinzheng@gmail.com
#
server="127.0.0.1:5000"
index_repo_name="username/ubuntu"
private_repo_name="ubuntu"
echo "\n"
echo " ## ."
echo " ## ## ## =="
echo " ## ## ## ## ==="
echo " /""""""""""""""""\___/ ==="
echo " ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~"
echo " \______ o __/"
echo " \ \ __/"
echo " \____\______/"
echo "\n"
idx=0
is_continue=1
docker images|grep -q "$server/$private_repo_name"
if [[ $? -ne 0 ]]; then
docker images|grep $index_repo_name|awk -F" " '{printf("docker tag %s %s/%s:%s\n",$3,"'$server'","'$private_repo_name'",$2)}'|bash
fi
while [ $is_continue -eq 1 ]
do
docker push $server/$private_repo_name
is_continue=$?
let idx=$idx+1
echo "$(tput setaf 1)continue push, $idx times pushed. $(tput sgr
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过docker save生成tar文件 ,通过u盘拷贝后,通过docker load将tar文件导入成镜像
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询