您的位置:首页 > 运维架构 > Docker

上传docker镜像到hub.docker

2016-07-29 22:12 671 查看
首先必须得在hub.docker.com上注册账号

如何将镜像上传到hub.docker.com docker pull caixia/ubuntu14.04
docker images
先将本地完善的镜像打包
docker commit 7aab28da9ee7 caixia/ubuntu14.04:v1
或者
docker commit <exiting-container> <hub-user>/<repo-name>[:<tag>]
上传如下
docker push caixia/ubuntu14.04:v1

先更改已有镜像的标签
docker tag 7aab28da9ee7(镜像ID) caixia/ubuntu14.04:v1

构建镜像的两种方法:
使用
docker commit
命令

使用
docker build
命令和
Dockerfile
文件

Dockerfile更抢到、灵活,推荐使用。
一般来说不是真的“创建”新镜像,而是基于一个已有的基础镜像,比如Ubuntu、Fedora等,构建新的镜像而已。从零构建一个全新的镜像可参考这篇文章

用commit创建镜像

创建Docker账号

共享和发布镜像时构建镜像中重要的环节,可以将镜像推送到Docker Hub或资金的私有Registry中。首先到https://hub.docker.com/account/signup/ 创建账号。



邮件激活后,可以测试登录:
$ sudo docker login



这条命令会完成登录,并将认证信息报错起来供后面使用。个人认证信息将报错到
$HOME/ .dockercfg
文件中.

用 commit 命令创建镜像

可以想象是往版本控制系统里提交变更:首先创建一个容器,并在容器里做修改,就行修改代码一样,最后在讲修改提交为一个新镜像。
创建一个新容器命令:
$ sudo docker run -i -t ubuntu /bin/bash
我用之前创建好的aoct容器:
$ sudo docker start aoct$ sudo docker attach aoct



安装Apache:
root@614122c0aabb:/# apt-get -yqq update...
root@614122c0aabb:/# apt-get -y install apache2...



想把这个容器作为一个Web服务器来运行,所以要把它当前状态保存下来,就不必每次都创建一个新容器并再次安装Apache。
所以先用
exit
命令退出容器,再运行
docker commit
命令:
$ sudo docker commit 614122c0aabb aoct/apache2



命令中,指定了要提交的修改过的容器的ID、目标镜像仓库、镜像名。
commit
提交的知识创建容器的镜像与容器的当前状态之间的差异部分,很轻量。

查看新创建的镜像:

$ sudo docker images aoct/apache2



也可以像git一样,在提交镜像时指定更多信息来描述所做的修改:
$ sudo docker commit -m='A new image' --author='Aomine' 614122c0aabb aoct/apache2



上面代码,用
-m
指定行创建的镜像的提交信息。
--author
指定镜像作者,接着是容器ID、目标镜像仓库、镜像名。

使用
docker inspect
命令查看新创建的镜像的详细信息:

$ sudo docker inspect aoct/apache2



使用
docker run
命令从刚创建的新镜像运行一个容器:
$ sudo docker run -t -i aoct/apache2 /bin/bash

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: