我们以在Docker容器中运行一个SpringCloud项目为例,事先准备好一个SpringCloud的Eureka Server的一个简单实例,就是一个Eureka简单的服务端代码,并打成jar 包,上传到服务器(目录随意),我这里上传到/opt,然后在/opt下创建一个文件夹/static_web_test: mkdir static_web_test,再进入此文件夹:cd static_web_test,再建立Dockerfile文件:touch Dockerfile。
我们创建了一个名为static_web_test的文件夹用来保存Dockerfile,这个目录就是我们的构建环境,Docker称此环境为上下文(context)或者构建上下文(build context)。Docker会在构建镜像时将构建上下文和该上下文中的文件和目录上传到Docker守护进程。这样Docker守护进程就能直接访问你想在镜像中存储的任何代码、文件或其他数据。
作为开始,我们还创建了一个空Dockerfile,下面通过一个例子来看如何通过Dockerfile构建一个SpringCloud应用的Docker镜像。
# 编辑Dockerfile
vim Dockerfile
# 下面是Dockerfile内容
#运行此项目还需要基于java镜像
FROM java:8
#将本地文件夹挂载到当前容器
VOLUME /tmp
#拷贝文件到容器,注意这里的jar包是事先准备好的一个演示Cloud的jar项目,需要放在Dockerfile同样的目录下
ADD eureka-0.0.1-SNAPSHOT.jar app.jar
RUN ["/bin/bash","-c",&#