apache-tomcat-8.5.83.tar.gz
jdk-8u202-linux-x64.tar.gz
jdk 和Tomcat自己去官网下载
# 基础镜像
FROM ubuntu
# 描述
MAINTAINER jdk_comcat:8
# 解压与复制jdk.tar.gz
# 由于add/copy的文件必须使用上下文目录的内容, 因此要先将jdk.tar.gz拷贝到当前目录
ADD jdk-8u202-linux-x64.tar.gz /usr/local
ADD apache-tomcat-8.5.83.tar.gz /usr/local
# 配置 JDK 的环境变量和字符集
ENV JAVA_HOME /usr/local/jdk1.8.0_202
ENV PATH $JAVA_HOME/bin:$PATH
ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV LANG C.UTF-8
# 配置tomcat环境变量
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.83
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.83
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
# 暴露端口
EXPOSE 8080
# 启动tomcat -- 最后的命令要一直运行下去,以防容器退出
ENTRYPOINT /usr/local/apache-tomcat-8.5.83/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.5.83/logs/catalina.out
采用docker build 指令构建jdk_tomcat:8指定的版本:
[root@localhost tomcat]# sudo docker build -t jdk_tomcat:8 .
Sending build context to Docker daemon 204.7MB
Step 1/13 : FROM ubuntu
---> ba6acccedd29
Step 2/13 : MAINTAINER jdk_comcat:8
---> Running in b5c84e47128f
Removing intermediate container b5c84e47128f
---> 72de2dce1ee2
Step 3/13 : ADD jdk-8u202-linux-x64.tar.gz /usr/local
---> 021c4fdb4c85
Step 4/13 : ADD apache-tomcat-8.5.83.tar.gz /usr/local
---> cdcc494eb5dc
Step 5/13 : ENV JAVA_HOME /usr/local/jdk1.8.0_202
---> Running in 2e951823402d
Removing intermediate container 2e951823402d
---> 85ac9b509ae3
Step 6/13 : ENV PATH $JAVA_HOME/bin:$PATH
---> Running in 7cf34f21e792
Removing intermediate container 7cf34f21e792
---> f22b2517ccf8
Step 7/13 : ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
---> Running in ecff0f632b98
Removing intermediate container ecff0f632b98
---> 27cf9956e0b1
Step 8/13 : ENV LANG C.UTF-8
---> Running in 5d06830ff12a
Removing intermediate container 5d06830ff12a
---> e512ebf2fa3b
Step 9/13 : ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.83
---> Running in fe6a94685e33
Removing intermediate container fe6a94685e33
---> 2d7ac9eba680
Step 10/13 : ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.83
---> Running in f55ec425465a
Removing intermediate container f55ec425465a
---> e7333a163afb
Step 11/13 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
---> Running in 84debe4a844f
Removing intermediate container 84debe4a844f
---> f72e6f752d2c
Step 12/13 : EXPOSE 8080
---> Running in 2e9d09b5830c
Removing intermediate container 2e9d09b5830c
---> c9d2b65d292f
Step 13/13 : ENTRYPOINT /usr/local/apache-tomcat-8.5.83/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.5.83/logs/catalina.out
---> Running in ad6353686b35
Removing intermediate container ad6353686b35
---> fa0bafc06889
Successfully built fa0bafc06889
Successfully tagged jdk_tomcat:8
通过docker run 启动jdk_tomcat:8 当前镜像
sudo docker run -itd -p 8080:8080 --name jdk_tomcat jdk_tomcat:8
启动成功后,通过 docker images 查看镜像。
通过docker ps查看容器:
[root@localhost tomcat]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1faae7d0ce90 jdk_tomcat:8 "/bin/sh -c '/usr/lo…" 4 seconds ago Up 3 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp jdk_tomcat
8e97133ab2de gitlab/gitlab-ce "/assets/wrapper" 30 hours ago Up 29 minutes (healthy) 80/tcp, 0.0.0.0:8090->8090/tcp, :::8090->8090/tcp, 0.0.0.0:8022->22/tcp, :::8022->22/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp gitlab
通过docker login 登陆
docker login --username=*** registry.cn-hangzhou.aliyuncs.com
输入自己的密码:
问题:Error response from daemon: Get “https://registry.cn-hangzhou.aliyuncs.com/v2/”: unauthorized: authentication required
解决方法:
1、不要使用第三方授权登陆,自己注册一个阿里云账号
2、修改DNS存值。
[root@localhost tomcat]# vi /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.220.2
保证DNS 存在值
通过docker images 获取镜像ID,然后通过阿里给的指令推送:
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_comcat:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_comcat:[镜像版本号]
[root@localhost tomcat]# docker tag fa0bafc06889 registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_comcat:8
[root@localhost tomcat]# docker push registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_comcat:8
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_comcat]
032714f94ad3: Pushed
4e3b53d854a6: Pushed
9f54eef41275: Pushed
8: digest: sha256:68b03cdf1d81b57489b7bf6de2761d7c0cce826e85c31a93fe11a029b3a21eb5 size: 954
拉取上传的镜像:
sudo docker pull registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_comcat:8
同理制作JDK镜像,添加jar包,测试jdk镜像是否成功:
docker run -d --name eureka-9001 --privileged=true --network host --restart always -w /usr/eureka/ -v /data/eureka:/usr/eureka registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_li:8 /bin/sh -c 'sh start.sh'