上次 docker 环境已经安装好了,嗯,私有库已经搭建起来了,那接下来干啥呢?
当然是搞一搞自己的镜像了
来 先看一段文件
FROM centos:7
MAINTAINER linx
#把java与tomcat添加到容器中
ADD jdk-8u131-linux-x64.tar.gz /usr/local/myevn/
ADD apache-tomcat-8.5.16.tar.gz /usr/local/myevn/
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/myevn/jdk1.8.0_131
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/myevn/apache-tomcat-8.5.16
ENV CATALINA_BASE /usr/local/myevn/apache-tomcat-8.5.16
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器运行时监听的端口
EXPOSE 8080
本次的目的呢,就是建立自己的镜像,镜像里包含 tomcat8 jdk 8
来,开搞
首先呢,在目录 /usr/local/目录下 创建 myevn文件夹
在文件夹内创建 Dockerfile 文件
touch Dockerfile #创建一个文件
vi Dockerfile
把上面那段 粘贴到里面保存即可
然后嘞?
然后 下载好 JDK,tomcat 的tar包。。。 扔到当前目录下 ,注意路径和文件名与Dockerfile里的一致
嗯。
接下来就在当前文件目录下 运行
docker build -t="jdk8/tocmat8" .
[root@bogon myevn]# docker build -t jdk8/tomcat8 .
Sending build context to Docker daemon 195 MB
Step 1 : FROM centos:7
---> 3bee3060bfc8
Step 2 : MAINTAINER linx
---> Running in 3a644fcdec94
---> d7f445ff9e0b
Removing intermediate container 3a644fcdec94
Step 3 : ADD jdk-8u131-linux-x64.tar.gz /usr/local/myevn/
---> e307519beb86
Removing intermediate container f9ab42dc4163
Step 4 : ADD apache-tomcat-8.5.16.tar.gz /usr/local/myevn/
---> 130680f73679
Removing intermediate container ea07c875428a
Step 5 : ENV JAVA_HOME /usr/local/myevn/jdk1.8.0_131
---> Running in dfe3be38b916
---> ca9703a9e1c9
Removing intermediate container dfe3be38b916
Step 6 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
---> Running in e6e923a92116
---> 77d046bb4d61
Removing intermediate container e6e923a92116
Step 7 : ENV CATALINA_HOME /usr/local/myevn/apache-tomcat-8.5.16
---> Running in f06a67dce482
---> 010045d862dd
Removing intermediate container f06a67dce482
Step 8 : ENV CATALINA_BASE /usr/local/myevn/apache-tomcat-8.5.16
---> Running in 5bf0d708afe9
---> 0208e31e8371
Removing intermediate container 5bf0d708afe9
Step 9 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
---> Running in e3abe6906661
---> 543a2ab66afc
Removing intermediate container e3abe6906661
Step 10 : EXPOSE 8080
---> Running in d5a76e1d5251
---> b1088d9cb164
Removing intermediate container d5a76e1d5251
Successfully built b1088d9cb164
好了,这样算是镜像创建好了。
docker images
查看下 镜像 有没有 咱们的jdk8/tomcat8
[root@bogon myevn]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jdk8/tomcat8 latest b1088d9cb164 8 seconds ago 582 MB
zzm latest 49cdfeb58b96 8 days ago 139.5 MB
mydockerregistry.com:5000/busybox latest c30178c5239f 2 weeks ago 1.106 MB
docker.io/centos 7 3bee3060bfc8 4 weeks ago 192.5 MB
docker.io/learn/tutorial
呦
第一个就是 帅气
接下来就是运行下
docker run -i -t -p 18080:8080 jdk8/tomcat8
其中 -t -i -p
-
-i: 以交互模式运行容器,通常与 -t 同时使用;
-
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
嗯,报错?好,命令行 应该进入了 容器里了
命令行开头变成这样了
[root@60bdcb15ecc8 ]
这说明,咱们直接进入了 容器了
好,像操作其他Linux机器一样 试试
Java -v
嗯,没问题
/uer/local/myevn/tomcat***
启动下tomcat 哦?起来了? 走 访问下 http://172.20.81.248:18080/ 可爱的猫出现了吧?
好了,这算是镜像创建好了,
下一步就是将镜像保存到咱的私有库了
docker tag jdk8/tocmat8 mydockerregistry.com:5000/jdk8/tocmat8
[root@bogon myevn]# docker push mydockerregistry.com:5000/jdk8tomcat8
The push refers to a repository [mydockerregistry.com:5000/jdk8tomcat8]
ee3b2b3dbea2: Pushed
d841895c2b1a: Pushed
dc1e2dcdc7b6: Pushed
latest: digest: sha256:a5acdfdbf358e7c3ed59e09e400d217a2caa1c0fabd365597a994b2270146ca2 size: 953
上传成功。。。