使用Dockerfile构建镜像并推送Docker hub

2023年 7月 20日 77.2k 0

虽然Docker Hub上有着大量的镜像,可能会因为各种各样的需求,需要定制适合自身的镜像,结合docker hub可以让你的镜像随时可以通过Docker hub获取

创建Dockerfile文件

$ mkdir ~/mydockerfile
$ cd ~/mydockerfile
$ vim Dockerfile

加入以下行

FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsay
  • FROM基于那个镜像进行构建
  • RUN在docker镜像载入之前要执行的命令
  • CMD当镜像载入完成时要执行的命令

从Dockerfile中构建镜像

$ docker build -t docker-whale .

在构建的过程Docker执行以上三个步骤,并且把信息打印到终端,首先docker从本地查找docker/whalesay镜像,如果没有则从docker hub中获取,接下来开始执行自定义的命令安装fortunes,当镜像(image)完成载入时执行/usr/games/fortune -a | cowsay

运行新构建的镜像image

新的镜像已经构建成功,可以使用docker images命令来验证是否已经存在该镜像,

$ docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker-whale        latest              40c25b1a081a        12 minutes ago      274.9 MB
nginx               latest              4efb2fcdb1ab        5 days ago          183.4 MB
ubuntu              latest              f8d79ba03c00        2 weeks ago         126.4 MB
centos              latest              970633036444        4 weeks ago         196.7 MB
debian              latest              1b01529cc499        4 weeks ago         125.1 MB
hello-world         latest              c54a2cc56cbb        8 weeks ago         1.848 kB
docker/whalesay     latest              6b362a9f73eb        15 months ago       247 MB

接下来运行新的镜像

$ docker run docker-whale

创建Docker hub仓库

注册之后可以在头像的旁边找到,分别由以下几个步骤

1 选择命名空间 (Required)
2 添加仓库 (Required)
3 添加描述
4 添加全描述(支持markdown)
5 设置仓库是否公开

为镜像打标签并推送到Docker Hub

tagger

$ docker tag 7d9495d03763 huangyanxiong2012/docker-whale:latest
  • 使用命令登录Docker Hub
docker login --username=huangyanxiong2012 --email=youremail@company.com

Flag --email has been deprecated, will be removed in 1.13. 可以忽略

  • 推送镜像到Docker Hub
$ docker push huangyanxiong2012/docker-whale
  • 合并Docker Hub镜像

删除本地本地镜像

$ docker rmi -f huangyanxiong2012/docker-whale

合并Docker镜像

$ docker run huangyanxiong2012/docker-whale

相关文章

LeaferJS 1.0 重磅发布:强悍的前端 Canvas 渲染引擎
10分钟搞定支持通配符的永久有效免费HTTPS证书
300 多个 Microsoft Excel 快捷方式
一步步配置基于kubeadmin的kubevip高可用
istio全链路传递cookie和header灰度
REST Web 服务版本控制

发布评论