Dockerfile创建镜像
Dockerfile就是用来构建docker镜像的源码,是一些命令的组合,编写dockerfile可以定制化docker image。
镜像构建:首先有一个非常基础的镜像,在此基础镜像上叠加我们需要的软件,每安装一个软件,就在现有镜像的基础上叠加一层。
Dockerfile常见的命令
FROM image_name:tag 一般需要一个非常基础的镜像来做构建
RUN command:编译镜像时运行的脚本,可以写多条
ENV key value:设置环境变量,可以设置多个
CMD:设置容器的启动命令
ENTRYPOINT:设置容器的入口程序
ADD source_dir/file des_dir/file:将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
COPY source_dir/file des_dir/file:与ADD相似,但是不会自动解压
WORKDIR path_dir:设置工作目录
ARG:设置编译镜像时加入的参数
VOLUMN:设置容器的挂载卷
EXPOSE 端口号:向外开放一个端口号
使用Dockerfile制作微服务镜像:
利用Dockerfile制作一个微服务的镜像
1.上传微服务的jar包到linux
2.编写Dockerfile
FROM openjdk:8-jdk-alpine ( 基础镜像,jdk基础镜像
ARG JAR_FILE ( 用于下面拷贝文件
COPY ${JAR_FILE} app.jar ( 拷贝宿主机文件为app.jar
EXPOSE 10086 ( 对外发布端口10086
ENTRYPOINT [“java”,"-jar","/app.jar"] 启动命令
3.构建镜像
docker build --build-arg JAR_FILE=tensquare_eureka_server-1.0-SNAPSHOT.jar -t eureka:v1 .
4.查看镜像是否创建成功
docker images
5.创建容器
docker run -i --name=eureka -p 10086:10086 eureka:v1
查看:
docker ps
docker logs -f container_id (查看容器日志
6.访问容器
通过网页访问