自定义Docker镜像推送到Docker Hub实战

网友投稿 238 2022-10-20

自定义Docker镜像推送到Docker Hub实战

云原生探索的必经之路—容器化,而容器化目前最主流的技术莫过于Docker了,因为之前也大量的输出过Docker相关的技术博客,如果感兴趣的话可以直接访问专栏:​​《探索云原生》​​,按需学习哦。

这篇文章还是从Docker入手,从0开始讲述下如何将自己的Docker镜像上传到Docker Hub,并在Docker Hub上进行管理。下面开始~

那既然是从0开始,我们首先要做的准备工作就是:

(1)准备一台电脑

(2)开机并联网

(3)最好是有一个具备Docker环境的云服务器或能连接互联网的虚拟机

下面开始比较关键的步骤:

1 进入Docker Hub,注册账号

Docker Hub官网:创建自定义Docker镜像

为了方便起见,我们使用一个Go脚本和一个Dockerfile进行对自定义Docker镜像的构建

2.1 编写Go文件并编译

文件内容

package main import "fmt"func main(){ fmt.Println("Hello My Docker Image~")}

操作过程

[root@iZ2ze4m2ri7irkf6h6n8zoZ docker_test]# vim main.go [root@iZ2ze4m2ri7irkf6h6n8zoZ docker_test]# go run main.go Hello My Docker Image~[root@iZ2ze4m2ri7irkf6h6n8zoZ docker_test]# go build main.go [root@iZ2ze4m2ri7irkf6h6n8zoZ docker_test]# lsmain main.go

2.2 编写Dockerfile

[root@iZ2ze4m2ri7irkf6h6n8zoZ docker_test]# lsDockerfile main main.go

Dockerfile内容:

#依赖镜像(母镜像),可以先使用docker search命令搜索FROM golang:latest#作者信息MAINTAINER YMX "1712229564@qq.com"#Docker工作目录WORKDIR $GOPATH/src/go#将当前目录添加到DockerADD ./main $GOPATH/src/go#编译后在根目录下生成而非./core目录下,最终运行Docker的初始命令ENTRYPOINT ["./main"]

2.3 构建Docker镜像

[root@iZ2ze4m2ri7irkf6h6n8zoZ docker_test]# docker build -t hello_image .

3 登录Docker Hub账号并创建仓库

3.1 登录和登出操作

命令:

docker login # 登录docker logout # 退出登录

3.2 创建仓库

比较简单,看图即可:

4 将自定义Docker镜像推送到Docker Hub仓库

4.1 推送流程

标记Tagpush到远程仓库

语法:

标记:

docker tag [镜像id] [网站上的位置]:[自定义Tag名字]

push:

docker push [网站上的位置]:[自定义Tag名字]

演示:

[root@iZ2ze4m2ri7irkf6h6n8zoZ docker_test]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEhello_image latest fdfc4f9ea526 8 minutes ago 966MB[root@iZ2ze4m2ri7irkf6h6n8zoZ docker_test]# docker tag fdfc4f9ea526 1712229564/my_image:hello_image[root@iZ2ze4m2ri7irkf6h6n8zoZ docker_test]# docker push 1712229564/my_image:hello_imageThe push refers to repository [docker.io/1712229564/my_image]89bb49958f16: Pushed 8cd320a0e7a7: Pushed def634b32aed: Mounted from library/golang 9ff9d9cae9c4: Mounted from library/golang 2724480adbd2: Mounted from library/golang 7a7698da17f2: Mounted from library/golang d59769727d80: Mounted from library/golang 348622fdcc61: Mounted from library/python 4ac8bc2cd0be: Waiting

4.2 结果检查

~

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot提高开发效率必备工具lombok使用
下一篇:Docker进阶篇
相关文章

 发表评论

暂时没有评论,来抢沙发吧~