Dockerfile制作镜像并配置容器启动运行java程序

首先是准备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应用接口。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值