Dockerfile制作镜像并配置容器启动运行java程序
首先是准备Dockerfile文件。[root@k8sRancher dockerpack]# lsDockerfilesatedata-0.0.1-SNAPSHOT.jar[root@k8sRancher dockerpack]# pwd/root/dockerpack[root@k8sRancher dockerpack]#编写Dockerfile文件内容,我这里拉取的是我私有镜像仓库中的镜像
·
首先是准备Dockerfile文件。
[root@k8sRancher dockerpack]# ls
Dockerfile satedata-0.0.1-SNAPSHOT.jar
[root@k8sRancher dockerpack]# pwd
/root/dockerpack
[root@k8sRancher dockerpack]#
编写Dockerfile文件内容,我这里拉取的是我私有镜像仓库中的镜像,私有镜像已经是我制作成功的带有jdk的CentOS镜像:
[root@k8sRancher dockerpack]# cat Dockerfile
#拉取centos基础镜像
FROM 192.168.8.40/linux/centos:7.8.2003-jdk8
#指定创建镜像的用户
MAINTAINER cetcsa
#将当前jdk安装包添加到镜像文件的/opt/中,tar类型文件会自动解压
COPY satedata-0.0.1-SNAPSHOT.jar /opt/
#删除jdk安装包
#RUN rm -f /opt/jdk-8u201-linux-x64.tar.gz
#配置java环境变量
#ENV JAVA_HOME /opt/jdk1.8.0_201
#ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#ENV PATH=$PATH:$JAVA_HOME/bin
#安装vim
#RUN yum install -y vim
#USER root:root
#RUN java -jar /opt/satedata-0.0.1-SNAPSHOT.jar
EXPOSE 8181
#指定容器启动时执行的命令
CMD java -jar /opt/satedata-0.0.1-SNAPSHOT.jar
[root@k8sRancher dockerpack]#
执行镜像构建命令,注意命令最后有个英文点号:
[root@k8sRancher dockerpack]# docker build -t cetcsadata:v0.0.1 .
Sending build context to Docker daemon 215.5MB
Step 1/5 : FROM 192.168.8.40/linux/centos:7.8.2003-jdk8
---> ecee5edcb447
Step 2/5 : MAINTAINER cetcsa
---> Running in e96cad1095dd
Removing intermediate container e96cad1095dd
---> 8145b21cd203
Step 3/5 : COPY satedata-0.0.1-SNAPSHOT.jar /opt/
---> ffe68e5187c9
Step 4/5 : EXPOSE 8181
---> Running in afacb40f1e2c
Removing intermediate container afacb40f1e2c
---> 942997a595bc
Step 5/5 : CMD java -jar /opt/satedata-0.0.1-SNAPSHOT.jar
---> Running in c53356d2bb67
Removing intermediate container c53356d2bb67
---> 10df33d1ce0a
Successfully built 10df33d1ce0a
Successfully tagged cetcsadata:v0.0.1
查看镜像:
[root@k8sRancher dockerpack]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cetcsadata v0.0.1 10df33d1ce0a 7 minutes ago 755MB
mongo latest 6d11486a97a7 7 weeks ago 388MB
192.168.8.40/crawlab/mongo latest 6d11486a97a7 7 weeks ago 388MB
scrapy v2.2.0 373ae74a09a5 7 weeks ago 1.15GB
192.168.8.40/linux/centos 7.8.2003-jdk8 ecee5edcb447 2 months ago 731MB
192.168.8.40/scrapy/scrapy scrapy-splash-3.5.0 69854ad6c059 2 months ago 1.88GB
scrapinghub/splash 3.5.0 69854ad6c059 2 months ago 1.88GB
192.168.8.40/crawlab/redis latest 235592615444 2 months ago 104MB
redis latest 235592615444 2 months ago 104MB
rancher/rancher latest aaa41ea9b2f1 2 months ago 851MB
192.168.8.40/crawlab/crawlab latest b81e70a6916c 3 months ago 673MB
192.168.8.40/tikazyq/crawlab latest b81e70a6916c 3 months ago 673MB
tikazyq/crawlab latest b81e70a6916c 3 months ago 673MB
tikazyq/crawlab 0.4.10 6776c7bc2e04 4 months ago 710MB
[root@k8sRancher dockerpack]#
启动容器:
[root@k8sRancher dockerpack]# docker run -itd --name=satellitedata --privileged=true -p 8181:8181 cetcsadata:v0.0.1
6d28691031957efd51ef90c4c8e3bf9f4de098b1a53c525ecedc51dfd3011690
[root@k8sRancher dockerpack]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6d2869103195 cetcsadata:v0.0.1 "/bin/sh -c 'java -j…" 22 seconds ago Up 21 seconds 0.0.0.0:8181->8181/tcp satellitedata
6bdfc1488588 ecee5edcb447 "/usr/sbin/init" 39 minutes ago Up 39 minutes satedata
924684c5e4f6 192.168.8.40/crawlab/crawlab:latest "/bin/bash /app/dock…" 6 weeks ago Up 4 hours 8000/tcp, 0.0.0.0:8088->8080/tcp master
60cfadc73c1b 192.168.8.40/crawlab/mongo:latest "docker-entrypoint.s…" 6 weeks ago Up 5 hours 0.0.0.0:27017->27017/tcp crawlab_mongo_1
7745d4d724f8 192.168.8.40/crawlab/redis:latest "docker-entrypoint.s…" 6 weeks ago Up 5 hours 0.0.0.0:6379->6379/tcp crawlab_redis_1
10375eb378f5 69854ad6c059 "python3 /app/bin/sp…" 7 weeks ago Up 4 hours 0.0.0.0:8030->8050/tcp splash
faf71d7ce193 rancher/rancher "entrypoint.sh" 2 months ago Up 5 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp angry_stonebraker
[root@k8sRancher dockerpack]#
查看容器日志。
然后访问容器中java应用接口。
更多推荐
已为社区贡献2条内容
所有评论(0)