zoukankan      html  css  js  c++  java
  • docker上传自己的镜像

    本文章主要讲述如何创建镜像并上传到自己的dockerhub中。

    如果还没有安装docker,请参考docker安装

    第一步

    在dockerhub https://hub.docker.com/上创建帐号。

    docker是和github类似的仓库,用于存放自己的镜像。可以创建私有和公开的仓库。私有的仓库免费的有限制,貌似只能创建一个仓库,公开的没有限制。

    第二步

    拉取一个镜像

    本例拉取ubuntu镜像。会自动拉取最终版本。

    lgj@lgj-Lenovo-G470:~$ docker pull ubuntu
    Using default tag: latest
    latest: Pulling from library/ubuntu
    6abc03819f3e: Pull complete
    05731e63f211: Pull complete
    0bd67c50d6be: Pull complete
    Digest: sha256:f08638ec7ddc90065187e7eabdfac3c96e5ff0f6b2f1762cf31a4f49b53000a5
    Status: Downloaded newer image for ubuntu:latest

    查看安装的镜像

    可以看到ubuntu:latest镜像已经存在

    lgj@lgj-Lenovo-G470:~$ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    lgj/webdemo         1.0                 10e0d3d344d6        3 days ago          504MB
    <none>              <none>              67b2eee0f0b6        3 days ago          504MB
    <none>              <none>              88b1d5b63784        3 days ago          504MB
    <none>              <none>              e60203504301        3 days ago          504MB
    <none>              <none>              11f593fd9537        3 days ago          504MB
    openjdk             8                   4a0a42e87cf3        6 days ago          488MB
    ubuntu              latest              7698f282e524        2 weeks ago         69.9MB

     第三步 

    运行镜像

    使用docker run运行,并打开bash,出现第二行则表示运行成功。 

    lgj@lgj-Lenovo-G470:~$ docker run -it --name ubuntu-vim ubuntu:latest /bin/bash
    root@d1d7b31bfd46:/#

    这里给它安装上vim.

    root@d1d7b31bfd46:/# apt update

     root@d1d7b31bfd46:/# apt install vim

     安装成功后执行vim。能打开则说明安装成功。

    退出容器

    root@d1d7b31bfd46:/# exit

    第四步

    基于上述容器重新创建镜像,创建的镜像为 lgj/ubuntu:vim

    镜像的完整名称是 用户名称/仓库名称:TAG

    docker commit d1d7b31bfd46 lgj/ubuntu:vim
    lgj@lgj-Lenovo-G470:~$ docker commit d1d7b31bfd46 lgj/ubuntu:vim
    sha256:3d0ffc87f06d9c2e2ada45da86333a037b84292d7ab5fd2eeee8e6e2f4686ffc
    lgj@lgj-Lenovo-G470:~$ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    lgj/ubuntu          vim                 3d0ffc87f06d        8 seconds ago       155MB
    lgj/webdemo         1.0                 10e0d3d344d6        3 days ago          504MB
    openjdk             8                   4a0a42e87cf3        6 days ago          488MB
    ubuntu              latest              7698f282e524        2 weeks ago         69.9MB

    还可以对镜像进行重命名

    这里重命名为lgjlife/ubuntu:vim。因为要与dockerhub上的仓库对应

    lgj@lgj-Lenovo-G470:~$ docker tag lgj/ubuntu:vim lgjlife/ubuntu:vim

    第五步

    创建仓库

    这里的仓库是ubuntu。lgjlife是我的dockerhub的用户名。

    第六步

    登录

    使用docker login登录

    lgj@lgj-Lenovo-G470:~$ docker login
    Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
    Username: lgjlife
    Password: 
    WARNING! Your password will be stored unencrypted in /home/lgj/snap/docker/384/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded

    第七步

    上传

    注意这里的镜像名称必须和hub中的仓库名称一致,否则将会抛出错误

     denied: requested access to the resource is denied

    lgj@lgj-Lenovo-G470:~$ docker push lgjlife/ubuntu:vim  
    The push refers to repository [docker.io/lgjlife/ubuntu]
    6b4d25968145: Pushing [==========================================>        ]  72.93MB/85.24MB
    8d267010480f: Pushed 
    270f934787ed: Pushed 
    02571d034293: Pushing [============================================>      ]  62.72MB/69.86MB

     等待上传成功。

    上传成功

    vim: digest: sha256:b5a9bb84f41f0da2930695acafbae2fe7484bf65c5b0c8461d7cedc3c6075e13 size: 1155

    查看dockerhub

    仓库lgjlife/ubuntu已经存在tag为vim的镜像

    可以docker pull 下载

    docker pull  lgjlife/ubuntu:vim

    完结!!!!!!!!

  • 相关阅读:
    10.16(day54)
    10.17(day55)
    10.15(day53)
    10.14(day52)
    10.12(day51)
    10.11(day50)form表单,css的引入,css选择器,css修改字体属性
    10.10(day49)初识前端,html基础
    9.25(day44)
    9.24(day43)
    9.23(day42)数据库的配置,数据库表的引擎,数据类型,约束条件
  • 原文地址:https://www.cnblogs.com/lgjlife/p/10982565.html
Copyright © 2011-2022 走看看