使用dockerfile自定义Docker镜像并推送到dockerhub

一、B要条件

  1. 能正常访问docker.io
  2. 在hub.docker.com网址注册账户

二、选择一个操作系统作为基础环境

本文使用rockylinux/rockylinux:8.5

三、创建dockerfile

其中rockylinux/rockylinux:8.5crazy.pig请替换成自己的镜像基础和自己的名字

[root@vr8 ray]# mkdir docker_build
[root@vr8 ray]# cd docker_build/
[root@vr8 docker_build]# clear
[root@vr8 docker_build]# ls
[root@vr8 docker_build]# cat >> dockerfile << EOF
> FROM rockylinux/rockylinux:8.5
> MAINTAINER crazy.pig
> EOF
[root@vr8 docker_build]# ll
总用量 4
-rw-r--r--. 1 root root 52 1月  26 10:40 dockerfile
[root@vr8 docker_build]# cat dockerfile 
FROM rockylinux/rockylinux:8.5
MAINTAINER crazy.pig

四、使用dockerfile构建自己的docker镜像

[root@vr8 docker_build]# docker build -t customize-rocky:v8.5 .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM rockylinux/rockylinux:8.5
8.5: Pulling from rockylinux/rockylinux
72a2451028f1: Pull complete 
Digest: sha256:2fb0499bf87069010e5d5ba1d44cee1504f9f87b9e5889f7d885c325cdc71967
Status: Downloaded newer image for rockylinux/rockylinux:8.5
 ---> a1e37a3cce8f
Step 2/2 : MAINTAINER crazy.pig
 ---> Running in 95239220d111
Removing intermediate container 95239220d111
 ---> 40fc2a6b4bac
Successfully built 40fc2a6b4bac
Successfully tagged customize-rocky:v8.5

查看构建结果

[root@vr8 docker_build]# docker images
REPOSITORY                      TAG                 IMAGE ID       CREATED         SIZE
customize-rocky                 v8.5                40fc2a6b4bac   4 minutes ago   205MB

五、定义要推送的标签

因为本地的customize镜像我还要进行多种环境的构建,所以在dockerfile中没有一次性使用生产标签来定义,而在推送前进行标签的确定。所以有这一步。docker tag命令指定的repository请一定要使用自己在docker网站上注册的用户名来定义。例如:下面命令中的crazyrayshi就是我的用户名。

[root@vr8 docker_build]# docker tag customize-rocky:v8.5 crazyrayshi/customize-rocky:v8.5
[root@vr8 docker_build]# docker images
REPOSITORY                      TAG                 IMAGE ID       CREATED          SIZE
crazyrayshi/customize-rocky     v8.5                40fc2a6b4bac   29 minutes ago   205MB
customize-rocky                 v8.5                40fc2a6b4bac   29 minutes ago   205MB

六、给docker配置代理(docker.io网址无法直接访问)

[root@vr8 docker_build]# sudo mkdir -p /etc/systemd/system/docker.service.d
[root@vr8 docker_build]# cat >> /etc/systemd/system/docker.service.d/proxy.conf << EOF
> [Service]
> Environment="HTTP_PROXY=http://192.168.56.1:10809/"
> Environment="HTTPS_PROXY=http://192.168.56.1:10809/"
> Environment="NO_PROXY=localhost,127.0.0.1,192.168.56.0/24"
> EOF
[root@vr8 ray]# systemctl daemon-reload
[root@vr8 ray]# service docker restart

七、登录docker账号

请一定确保Login Succeeded出现

[root@vr8 docker_build]# 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: crazyrayshi
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

八、推送镜像到dockerhub

[root@vr8 docker_build]# docker push crazyrayshi/customize-rocky:v8.5
[root@vr8 ray]# docker push crazyrayshi/customize-rocky:v8.5
The push refers to repository [docker.io/crazyrayshi/customize-rocky]
65dbea0a4b39: Pushed 
v8.5: digest: sha256:6c7930d9d5d1afc378274a93086590c959dcb8f3bc4b375c04b0ed09529aae99 size: 529

九、结局圆满,此致敬礼

在这里插入图片描述

十、启动镜像环境

[root@vr8 ray]# docker run -dti --name rockylinux -v /data/lfs:/data/lfs crazyrayshi/customize-rocky:v8.5
2e5a65c2df8d1565993ff0abd551506eddaed3d4174abb8b0069082a566ef7e7
[root@vr8 ray]# docker ps -a
CONTAINER ID   IMAGE                              COMMAND                  CREATED         STATUS                      PORTS    NAMES
2e5a65c2df8d   crazyrayshi/customize-rocky:v8.5   "/bin/bash"              3 seconds ago   Up 3 seconds                         rockylinux                                                                                                  
[root@vr8 ray]# docker exec -it rockylinux /bin/bash
[root@2e5a65c2df8d /]# cat /etc/redhat-release 
Rocky Linux release 8.5 (Green Obsidian)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值