Docker实践之自定义镜像、推送至远程docker hub
来源:互联网 发布:网络写文章赚钱的方法 编辑:程序博客网 时间:2024/06/06 09:58
一、Dockerfile、Docker镜像和Docker容器的关系
在进行创建镜像之前,我们先了解一下这三者之间的关系。
Dockerfile 是软件的原材料,Docker 镜像是软件的交付品,而 Docker 容器则可以认为是软件的运行态。从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段,Dockerfile 面向开发,Docker 镜像成为交付标准,Docker 容器则涉及部署与运维,三者缺一不可,合力充当 Docker 体系的基石。
更多介绍可以移步这里:深入分析Docker镜像原理(点击链接查看)
二、创建自定义镜像的两种方式
- 使用commit命令创建本地镜像,我们在原有镜像基础上所做的修改应用commit命令之后 ,形成一个全新镜像,个人不太推荐此种做法,因为不便镜像的持续维护。
- 使用Dockerfile创建镜像,简单来说,就是我们编写好一个模板文件,编译之后就形成一个可用版本的镜像,后期我们只需维护该模板文件就可以达到镜像的持续更新、维护。
三、采用Dockerfile创建镜像(建立通用java环境镜像)
为了保持镜像通用与可维护 ,首先我们需要首先创建一个环境配置java镜像。具体Dockerfile编写如下:
#首先设置我们基础镜像来源FROM centos:latest#设置作者信息MAINTAINER jiucool "www.jiucool.org"#下面是设置环境变量ENV JDK_FILE_NAME server-jre-8u74-linux-x64.tar.gzENV INSTALL_FOLDER /home/installENV JDK_HOME /usr/local/jdk #执行相关命令RUN mkdir ${INSTALL_FOLDER}RUN mkdir ${JDK_HOME}ADD ${JDK_FILE_NAME} ${JDK_HOME}ADD jdk.sh /etc/profile.d/ RUN chmod 755 /etc/profile.d/jdk.shRUN chmod +x -R /usr/local/jdk/WORKDIR ${INSTALL_FOLDER}#执行的默认命令CMD ["/bin/bash"]
我们的文件目录结构如下:
然后执行编译命令
docker build -t jiucool/java:server-jre-8u74 .
OK,到这里已经编译成功,我们需要运行该镜像验证一下,是否配置正确。
docker run -it jiucool/java:server-jre-8u74
OK,经验证一切正常。
四、镜像推送到docker hub 官方仓库
首先我们需要登录账号:
docker loginUsername: jiucoolPassword: Email: XXXX@jiucool.orgLogin Succeeded
推送到Docker Hub上的镜像必须按照下面的格式进行:username/image_name,如果命名的镜像名字不是按照上面的规则进行的,可以使用docker tag 进行修改。
下面执行推送命令:docker push jiucool/java:server-jre-8u74
稍等片刻即推送成功。
然后通过官方库进行搜索查找验证。
至此,我们已经从编写Dockerfile — 编译 — 推送,完成了整个过程。
文章首发于我的个人博客:https://www.jiucool.org/docker-custom-image/
- Docker实践之自定义镜像、推送至远程docker hub
- Docker镜像推送(push)到Docker Hub
- Docker实践(七):Docker Hub(镜像分发、自动化构建)
- docker hub切换国内镜像
- Arukas Docker 制作自己的镜像---Docker hub
- Docker 容器创建镜像并提交到Docker hub
- 如何将一个docker镜像push到docker hub
- docker无法从docker hub下载镜像
- Docker:镜像加速器,阿里云,Docker Hub 镜像站点,升级你的Docker客户端
- Docker-image发布到Docker-hub实践
- Docker实践sshd镜像
- Docker之镜像
- docker 学习笔记---如何将docker 镜像上传到docker hub仓库
- docker 学习笔记---如何将docker 镜像上传到docker hub仓库
- Docker Hub简介及自动化构建镜像
- 使用阿里云容器Hub加速Docker镜像下载
- 国内docker hub的加速镜像服务
- docker学习之docker镜像
- jquery高版本去除了 live的用法,用on代替
- 瀑布流
- 创建索引表
- 开始写博客
- 仿QQ实现从底部滑出选择框
- Docker实践之自定义镜像、推送至远程docker hub
- Uva1600——Patrol Robot
- Java
- 极路由 openwrt 使用 SyncY 实现百度云同步
- JavaScript 变量的作用域
- 面试常客Handler详细解析(HandlerThread是什么)(四)
- 分页代码
- eclipse快捷键
- js变量、作用域和内存问题的复习**