摘要:从复制新文件或目录,并将它们添加到容器的文件系统,路径。允许您配置将作为可执行文件运行的容器。为以守护进程方式运行然后就可以正常访问了
Dockerfile 执行Dockerfile
FROM :
MAINTAINER
RUN
CMD 为容器提供默认值,默认提供给ENTRYPOINT,docker命令添加参数可覆盖原有的
RUN 执行任何指令并提交结果,用于Dockerfile的下一步工作
EXPOSE 暴露端口号
ENV
ADD
COPY
ENTRYPOINT 允许您配置将作为可执行文件运行的容器。docker命令添加参数可覆盖不原有的,如想覆盖需要添加--entrypoint
VOLUME 创建具有指定名称的安装点,并将其标记为从本机主机或其他容器保留外部安装的卷。
USER 指定运行容器的用户名
WORKDIR 为Dockerfile中的任何RUN,CMD,ENTRYPOINT,COPY和ADD指令设置工作目录
vim Dockerfile
FROM centos:latest
MAINTAINER ellis xxx@qq.com
# OS环境配置
RUN yum clean all
RUN yum install -y wget
# 安装JDK
RUN mkdir /var/tmp/jdk
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" -P /var/tmp/jdk http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz
RUN tar xzf /var/tmp/jdk/jdk-8u151-linux-x64.tar.gz -C /var/tmp/jdk && rm -rf /var/tmp/jdk/jdk-8u151-linux-x64.tar.gz
#设置环境变量
ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_151
ENV CATALINA_HOME /var/tmp/tomcat/apache-tomcat-8.5.8
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
#暴露端口
EXPOSE 7070
#上传工程包
RUN mkdir -p /test/demo
COPY cloud-eureka-server-0.0.1-SNAPSHOT.jar /test/demo
ENTRYPOINT ["sh", "-c", "cd /test/demo;java -jar cloud-eureka-server-0.0.1-SNAPSHOT.jar"]
创建test-dockerfile的仓库
➜ docker build -t test_demo .
Sending build context to Docker daemon 51.35MB
Step 1/14 : FROM centos:latest
---> a8493f5f50ff
Step 2/14 : MAINTAINER ellis 282390074@qq.com
---> Using cache
---> c634b5fb0309
Step 3/14 : RUN yum clean all
---> Using cache
---> 0dd52fc7970b
Step 4/14 : RUN yum install -y wget
---> Using cache
---> 1f2ff9aa7889
Step 5/14 : RUN mkdir /var/tmp/jdk
---> Using cache
---> 48a810aafba3
Step 6/14 : RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" -P /var/tmp/jdk http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz
---> Using cache
---> 88372ad590d7
Step 7/14 : RUN tar xzf /var/tmp/jdk/jdk-8u151-linux-x64.tar.gz -C /var/tmp/jdk && rm -rf /var/tmp/jdk/jdk-8u151-linux-x64.tar.gz
---> Using cache
---> b415f3947273
Step 8/14 : ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_151
---> Using cache
---> 25cf99b2d7e2
Step 9/14 : ENV CATALINA_HOME /var/tmp/tomcat/apache-tomcat-8.5.8
---> Using cache
---> cd33c693ec97
Step 10/14 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
---> Using cache
---> 8503dab918cd
Step 11/14 : EXPOSE 7070
---> Using cache
---> e8d866b900d7
Step 12/14 : RUN mkdir -p /test/demo
---> Using cache
---> a4be88f4d72d
Step 13/14 : COPY cloud-eureka-server-0.0.1-SNAPSHOT.jar /test/demo
---> Using cache
---> dc61e44cbd4b
Step 14/14 : ENTRYPOINT sh -c cd /test/demo;java -jar cloud-eureka-server-0.0.1-SNAPSHOT.jar
---> Using cache
---> b756a23f0a24
Successfully built b756a23f0a24
Successfully tagged test_demo:latest
执行的时候还是需要-p指定端口映射关系,才能正常访问。-d为以守护进程方式运行
➜ docker run -d -p 7070:7070 test_demo:latest
cf5bd9b29030bbaaf1cc20344dd7489b2bb2aca31ddabd2e0d3414ec6d6589ff
然后就可以正常访问了
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26867.html
摘要:安装完成后,可以用以下命令查看下版本信息。另外,如果要删除刚运行的两个容器,可以总结本文从数据持久化开始说起,浅谈了和并附送如何用这两种方式分别搭建环境,并在对比中展示了它们各自的特点。 上一文中提到,每次对容器做了改动,如果不把它 commit 成新的镜像,在删除容器后,数据也会丢失,有没有什么更好的办法来保存数据呢?使用数据卷就可以解决这个问题。 另外,相对于用 commit 容器...
摘要:一核心组件客户端和服务端镜像容器二关键概念以镜像为基础,在镜像的基础上创建运行容器,可以简单的理解为容器是镜像运行时的表现。 一、docker核心组件 docker客户端和服务端 docker镜像 registry docker容器 二、关键概念 docker以镜像为基础,在镜像的基础上创建、运行容器,可以简单的理解为容器是镜像运行时的表现。 三、docker基本命令 容器相关 1、d...
摘要:分钟快速入门教程一欢迎来到世界与虚拟化在没有的时代,我们会使用硬件虚拟化虚拟机以提供隔离。仓库分为公开仓库和私有仓库,最大的公开仓库是官方仓库,国内的公开仓库也有很多选择,例如阿里云等。 30 分钟快速入门 Docker 教程 一、欢迎来到 Docker 世界 1. Docker 与虚拟化 在没有 Docker 的时代,我们会使用硬件虚拟化(虚拟机)以提供隔离。这里,虚拟机通过在操作系...
摘要:完成之后运行命令你的输出可能会像这样和都为,这是因为刚刚在编写时没有指定它们。多阶段构建镜像多阶段构建镜像其实运行程序只需要就行,我们没有必要使用作为基础镜像。但把程序打包成包,然后再交给的方式太麻烦了。运行简单的Java程序先在当前目录创建App.java文件public class App{ public static void main(String[] args){ ...
摘要:分钟快速入门教程一欢迎来到世界与虚拟化在没有的时代,我们会使用硬件虚拟化虚拟机以提供隔离。仓库分为公开仓库和私有仓库,最大的公开仓库是官方仓库,国内的公开仓库也有很多选择,例如阿里云等。 原文地址:梁桂钊的博客博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」。一群同频者,一起成长,一起精进,打破认知的局限性。 30 分钟快速入门 Docker 教程...
阅读 1300·2021-11-17 09:33
阅读 3726·2021-09-28 09:42
阅读 3511·2021-09-13 10:35
阅读 2747·2021-09-06 15:00
阅读 2568·2021-08-27 13:12
阅读 3699·2021-07-26 23:38
阅读 2058·2019-08-30 15:55
阅读 648·2019-08-30 15:53
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要