将docker本地镜像上传远程dockerhub仓库,实现在其他设备上无需建立dockerfile文件来制作镜像。目录1.准备步骤-制作本地镜像2.登录dockerhub官网并创建仓库3.对镜像tag标记并将容器转为镜像4.推送镜像到远程dockerhub仓库5.验证和使用1.准备步骤-制作本地镜像首先在本地使用dockerfile制作好镜像,并启动容器。通过dockerimages可以查看到镜像,dockerps-a可以查看到容器2.登录dockerhub官网并创建仓库dockerhub官网:添加链接描述通过Createrepository创建仓库,输入仓库名和仓库描述;在终端中登录dock
因为hub.docker.com是在国外的,所以访问速度很慢,导致无法访问该网址,所以,需要配置国内镜像来加速访问。 一般的docker安装都是默认安装的,所以,找到daemon.json这个文件,然后对其修改。如果是默认安装的话,该文件在/etc/docker/目录下。 使用vim命令将其打开,添加下边一行内容,然后退出保存。重启docker即可使用。{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}
我看到~/.dockercfg有您的登录凭据,但它是您的电子邮件,而不是您的用户名。我看到运行dockerlogin会显示您的用户名并提示您更改它。但是,您可以将您的用户名放入构建脚本中吗? 最佳答案 显示用户名:dockerinfo|sed'/Username:/!d;s/.*//'将其存储在一个变量中:username=$(dockerinfo|sed'/Username:/!d;s/.*//');echo$username请注意,如果您有bashhistoryexpansion(set+H)您将无法在commandsubsti
我看到~/.dockercfg有您的登录凭据,但它是您的电子邮件,而不是您的用户名。我看到运行dockerlogin会显示您的用户名并提示您更改它。但是,您可以将您的用户名放入构建脚本中吗? 最佳答案 显示用户名:dockerinfo|sed'/Username:/!d;s/.*//'将其存储在一个变量中:username=$(dockerinfo|sed'/Username:/!d;s/.*//');echo$username请注意,如果您有bashhistoryexpansion(set+H)您将无法在commandsubsti
Sincedocker1.8你可以看到:ThisAPIisdeprecatedasof1.7.Toviewtheoldversion,seetheDockerHubAPIinthe1.7documentation.但是当我查看newdocumentation没有任何关于API访问的内容。我以为是基于DockerTrustedRegistry但我不能让它工作。这样的命令有效:curl-khttps://registry.hub.docker.com/v1/repositories/ubuntu/tags但它是v1已弃用的api。 最佳答案
Sincedocker1.8你可以看到:ThisAPIisdeprecatedasof1.7.Toviewtheoldversion,seetheDockerHubAPIinthe1.7documentation.但是当我查看newdocumentation没有任何关于API访问的内容。我以为是基于DockerTrustedRegistry但我不能让它工作。这样的命令有效:curl-khttps://registry.hub.docker.com/v1/repositories/ubuntu/tags但它是v1已弃用的api。 最佳答案
所以,我正试图弄清楚一些事情,但到目前为止我还没有看到任何东西。我设置了一个dockerhub帐户,我想从CI服务器推送到私有(private)repo,并从它拉到生产中的盒子上。不过,据我所知,唯一的方法是访问每台机器并输入我的密码,与我用于Web登录的密码相同。这不可能吧?有什么我错过的吗? 最佳答案 将经过认证的配置文件复制到生产盒中。它应该在~/.dockercfg中。 关于DockerHub无密码登录,我们在StackOverflow上找到一个类似的问题:
所以,我正试图弄清楚一些事情,但到目前为止我还没有看到任何东西。我设置了一个dockerhub帐户,我想从CI服务器推送到私有(private)repo,并从它拉到生产中的盒子上。不过,据我所知,唯一的方法是访问每台机器并输入我的密码,与我用于Web登录的密码相同。这不可能吧?有什么我错过的吗? 最佳答案 将经过认证的配置文件复制到生产盒中。它应该在~/.dockercfg中。 关于DockerHub无密码登录,我们在StackOverflow上找到一个类似的问题:
在自动dockerhub构建期间,有没有办法连接到多个私有(private)git存储库?我们正在构建golang应用程序,需要在构建过程中“获取”其他私有(private)存储库,但目前它们失败了,因为docker无法连接到它们,只有目标私有(private)存储库。主存储库很好,因为部署key是通过Dockerhub安装的,但是任何后续私有(private)存储库导入都会失败。我可以看到解决此问题的一种方法是在本地构建镜像,将其“dockerpush”到dockerhub,然后在部署端将其pull下,这违背了dockerhub和自动构建系统的目的。另一种是将sshkey烘焙到基础镜
在自动dockerhub构建期间,有没有办法连接到多个私有(private)git存储库?我们正在构建golang应用程序,需要在构建过程中“获取”其他私有(private)存储库,但目前它们失败了,因为docker无法连接到它们,只有目标私有(private)存储库。主存储库很好,因为部署key是通过Dockerhub安装的,但是任何后续私有(private)存储库导入都会失败。我可以看到解决此问题的一种方法是在本地构建镜像,将其“dockerpush”到dockerhub,然后在部署端将其pull下,这违背了dockerhub和自动构建系统的目的。另一种是将sshkey烘焙到基础镜