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
完结!!!!!!!!
推荐:《Java常用技术和书籍推荐》
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
如果,您希望更容易地发现我的新博客,不妨关注一下。因为,我的写作热情也离不开您的肯定支持。
感谢您的阅读,如果您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客。
本文版权归博客园-冬眠的山谷(https://www.cnblogs.com/lgjlife/)所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出。