美文网首页
将容器转化为镜像并上传Docker Hub(三)

将容器转化为镜像并上传Docker Hub(三)

作者: ggr | 来源:发表于2018-04-01 23:47 被阅读0次

    现在我们所做的任何操作都是针对于目前容器而言的,不会影响到原来的系统,例如,我们在里面安装下nginx服务器,运行如下命令:

    sudo apt-get install -y nginx
    

    注意如果[报E: Unable to locate package的错误就先更新apt
    键入命令,再安装nginx

    apt-get update
    

    参考自:https://blog.csdn.net/belug/article/details/74502245

    完成后执行nginx -v就会发现我们已经将nginx安装成功:

    image.png

    将容器转化为镜像

    在上一小节中,我们已经在容器里安装好了nginx,接下来我们希望将这个容器内容保存下来,这样我们下次就无需再次安装了。这就是Docker中将容器转换为镜像的技术。

    如果您还在刚刚的安装了nginx的终端里,执行exit退出此终端,回到系统本身的终端:

    ps命令可以查都运行了哪些容器,加上-a参数后就表示运行过哪些容器,因为我们刚刚已经退出了安装nginx的容器,因此我现在想查看它的话,需要使用-a参数,执行如下命令:

    docker ps -a
    

    此时,就会显示出我们刚刚运行的容器,并且Docker会很贴心的随机给每个容器都起个Names方便标示。效果如下:


    image.png

    commit命令用来将容器转化为镜像,运行下面的命令,我们可以讲刚刚的容器转换为镜像:

    sudo docker commit -m "Added nginx from ubuntu14.04"  -a "ggr"  856b24bbbd8c ggr/ubuntu-nginx:v1
    

    其中,-m参数用来来指定提交的说明信息;-a可以指定用户信息的;79c761f627f3代表的时容器的id;ggr/ubuntu-nginx:v1指定目标镜像的用户名、仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。注意的是,你一定要将ggr改为你自己的用户名。因为下文还会用到此用户名。

    这是我们再次使用docker images命令就会发现此时多出了一个我们刚刚创建的镜像:

    image.png

    此时,如果运行docker run -it ggr/ubuntu-nginx:v1就会是一个已经安装了nginx的容器:

    image.png

    存储镜像

    我们刚刚已经创建了自己的第一个镜像,尽管它很简单,但这已经非常棒了,现在,我们希望它能够被更多的人使用到,此时,我们就需要将这个镜像上传到镜像仓库,Docker的官方Docker Hub应该是目前最大的Docker镜像中心,所以,我们就将我们的镜像上传到Docker Hub。

    首先,我们需要成为Docker Hub的用户,前往https://hub.docker.com/进行注册。需要注意的是,为了方便下面的操作,你需要将你的用户名设为和我刚刚在上文提到的自定义用户名相同,例如我的刚刚将镜像的名字命名为是ggr/ubuntu-nginx:v1,所以我的用户名为ggr、注册完成后记住用户名、密码、邮箱。

    login默认是用来登陆Docker Hub的,因此,输入如下命令来尝试登陆Docker Hub:

    docker login
    

    此时,就会输出交互,让我们输入Username、Password、Email,成功输入我们刚才注册的信息后就会返回Login Success提示:

    运行命令:

    docker push ggr/ubuntu-nginx:v1
    

    这就是我们为什么将刚刚的镜像命名为ggr/ubuntu-nginx:v1的原因,如果你上面步骤都操作正确的正确的话,是会得到下面的内容:

    此时,不出意外的话,我们的镜像已经被上传到Docker Hub上面了,去Docker Hub上面看
    Docker Hub好像要收费了 gg
    我们在Docker Hub上有了我们的第一个镜像,此时,其它的用户就可以通过命令docker pull ggr/ubuntu-nginx来直接获取一个安装了nginx的ubuntu系统了。不信?那就自己实践一下吧!

    参考自:
    https://blog.saymagic.cn/2015/06/01/learning-docker.html#umocy

    相关文章

      网友评论

          本文标题:将容器转化为镜像并上传Docker Hub(三)

          本文链接:https://www.haomeiwen.com/subject/vqfzcftx.html