创建一个文件名称:Dockerfile
内容:
FROM openjdk:8-jre #拉取openjdk:8-jre 这个镜像
ADD 1center-1.0.jar app.jar #jar包放到和dockerfile同级
EXPOSE 8761 #端口
ENTRYPOINT ["java","-jar","/app.jar"] #启动jar包命令
FROM [镜像:版本]:指定所依赖的基础镜像
RUN <命令行命令>:等同于在终端执行的shell命令
RUN ["可执行文件", "参数1", "参数2"]:等同于在终端shell中执行 ./可执行文件
COPY <源文件> <目标文件> :将Dockerfile同目录下的文件拷贝到容器里面
ADD <源文件> <目标文件>:类似于COPY,区别在于如果文件是*.tar、*.gzip、*.bzip2等文件,会自动解压缩(注意:支持解压tar、gzip和bzip2文件,但不会自动解压zip文件)。
例子:
FROM centos:7
RUN mkdir -p /data/portalsite3/server
RUN mkdir -p /data/jdk8
RUN yum update -y
RUN yum install tar -y
COPY jdk8 /data/jdk8
COPY node-v16.20.0-linux-x64.tar.gz /data/node-v16.20.0-linux-x64.tar.gz
RUN tar -xvf /data/node-v16.20.0-linux-x64.tar.gz --directory /usr/local --strip-components 1
WORKDIR /data/portalsite3/server
COPY portalsite-web.jar /data/portalsite3/server/portalsite-web.jar
COPY activemq.xml /data/portalsite3/server/activemq.xml
RUN chmod -R 777 /data/portalsite3
RUN chmod -R 777 /data/jdk8
CMD ["/data/jdk8/bin/java","-Dfile.encoding=utf-8","-jar","portalsite-web.jar"]
生成语句
docker build -t center . #生成镜像的名称center
构建容器
docker run -i -t -d --name center -h center -p 8761:8761 center
#修改center名称和端口
导出所有镜像
docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') -o haha.tar
导入镜像:
# docker load -i haha.tar
上装镜像
sudo docker commit -a="nginx" -m="bs" c95eff1e50dc nginx:1.1
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
翻译
搜索
复制
标签:center,tar,jar,上装,镜像,docker,data From: https://www.cnblogs.com/xiaobaishiyi/p/17956781