Dockerfile 构建发布镜像(dockerhub和阿里云)

本文详细介绍使用Dockerfile配置Tomcat环境的过程,并演示如何构建和发布Docker镜像到Docker Hub及阿里云镜像服务。

目录

构建镜像

发布镜像

dockerhub 

阿里云


今天刚学完Dockerfile,现在来测试一下Dockerfile部署tomcat项目

构建镜像

Dockerfile配置信息如下

FROM centos:7  # centos最新版默认是8,但官方已停止支持,现已连不了网

MAINTAINER AdamShyly<598455320@qq.com>   # 现在大多用Label

COPY readme.md /usr/local/readme.md  # 拷贝readme 换成 ADD readme.md /usr/local 也是一样的

ADD jdk-8u321-linux-x64.tar.gz /usr/local  # 自动解压
ADD apache-tomcat-9.0.60.tar.gz /usr/local  # 自动解压 亲测如果是绝对路径会报错

RUN yum -y install vim  # 构建镜像时运行的指令

ENV MYPATH /usr/local
WORKDIR $MYPATH  # 指定工作目录

ENV JAVA_HOME /usr/local/jdk1.8.0_321
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.60
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.60
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080  # 开放8080端口

CMD /usr/local/apache-tomcat-9.0.60/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.60/bin/logs/catalina.out
# 注意是 tail -F 不是 tail -f

其中我将 readme.md 、jdk、tomcat 和 Dockfile 放置于同级目录

 然后执行以下指令来构建镜像

docker build -t diytomcat .

注意我这里的PATH指定的是当前文件夹。对于这个PATH,官方有一段解释

The PATH specifies where to find the files for the “context” of the build on the Docker daemon.  

 大概意思就是Docker守护进程会根据这个PATH去寻找构造镜像所需的文件,例如 ADD 和 COPY

然后现在来测试一下这个镜像能不能正常启动tomcat服务

docker run -d -p 9090:8080 --name kuangshentomcat -v /home/docker-test-volume/tomcat/test:/usr/local/apache-tomcat-9.0.60/webapps/test -v /home/docker-test-volume/tomcat/tomcatlogs:/usr/local/apache-tomcat-9.0.60/logs diytomcat

 我让tomcat容器的webapps和logs文件夹都被宿主机挂载,方便测试和使用

此时如果出错就可以直接去宿主机挂载的logs目录下查看日志


发布镜像

dockerhub 

 第一步:需要登录dockerhub账号

docker login -u 用户名

 第二步:给要上传的镜像定义tag

docker tag 源镜像 仓库名/镜像:版本

第三步:上传镜像(注意这里的镜像名是刚刚定义完的tag

docker push 镜像名

 上传成功后可在dockerhub看到如下信息


阿里云

打开阿里云官网 ,找到 “容器镜像服务”

创建 “个人实例” 

 创建 “命名空间

创建 “镜像仓库” 

打开仓库后,这里就有官方提供的操作指令,非常详细

 上传成功后如下图

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值