欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker 自己制作一个镜像并上传docker hub

程序员文章站 2024-03-12 17:13:20
...

docker 制作一个redis 镜像 大家可以仿照这个 制作其他的镜像 这样就可以统一公司小伙伴们的开发环境了。彻底消灭那些说 是你电脑不行 来我这个试试的程序猿了 哈哈

  1. 第一步创建一个创建一个Dockerfile的文件,注意没有后缀(文件名也可以不叫Dockerfile,但是docker默认找的就是这个文件,如果不是则需要指定)这里的话需要先了解一下dockerFile指令 不了解的小伙伴可以先自行百度 补课

文件内容 如下 以redis5为例

FROM centos
RUN groupadd -r redis && useradd -r -g redis redis
RUN yum update -y ; \
yum -y install gcc automake autoconf libtool make wget epel-release gcc-c++;
RUN mkdir -p /usr/src/redis; \
wget https://github.com/antirez/redis/archive/5.0.7.tar.gz; \
tar -zxvf 5.0.7.tar.gz -C /usr/src/redis; \
rm -rf 5.0.7.tar.gz; \
cd /usr/src/redis/redis-5.0.7 && make && make PREFIX=/usr/local/redis install;

解释:
Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。 具体的我们查看
给大家的pdf的书籍,命令都是简单的,我们会慢慢的去学习
这种方式是比较流行的方式。就是将需要对镜像的操作全部写到一个文件中,然后使用docker build命令从这个文件中创建镜像。这种方法可以使镜像的创建变得
透明化和独立化,并且创建过程可以被重复执行。dockerfile文件以行位单位,性首为dockerfile命令,命令都是大写形式,期后紧跟着的是命令的参数。 类似shell脚本风格的

  1. 如下命令构建
docker build -t redis5 .
  1. 可以执行命令看到我们生成的这个镜像了
docker iamges
  1. 把我们这个镜像上传到docker hub

这个有点类似于git 的仓库地址就是用来存储我们的镜像地址的;
官网:https://hub.docker.com
需要自己注册一个账号
通过一下命令 登入然后上传

~ docker login
Username: xxxx
Password:
Login Successded

登入成功之后,使用push命令就可以上传镜像,如果不指定tag则本地的镜像都会上传。如下实例:
注意docker hub的push要求是如下格式

docker push 注册名/镜像名:tag

所以我们的命名是不规范的需要先需改镜像的名字

docker tag redis5  xxxx/redis5:v1

修改成功后再执行命令

docker push xxxxx/redis5:1
  1. 登入到你的docker hub 就可以看到你上传的镜像了
  2. 把你的镜像给公司的每个开发小伙伴 命令
docker pull xxxx/redis:v1

是不是就很好的解决了 由开发环境不统一导致的各种问题了