Docker 之 Dockerfile 常用语法与实战

Posted 追风人聊Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 之 Dockerfile 常用语法与实战相关的知识,希望对你有一定的参考价值。

1. 概述

老话说的好:超越别人,不如超越自我,每天比昨天的自己更强就好。

 

言归正传,之前聊了 Docker 的相关知识,今天来聊聊如何编辑 Dockerfile 脚本,来创建我们自己的镜像。

 

2. Dockerfile 相关知识

2.1 脚本语法 

FROM 镜像名  // 以哪个镜像为基础

MAINTAINER zhuifengren   // 运维人员姓名

RUN mkdir test1  // 执行一个命令,创建目录 test1 

RUN touch test2  // 执行一个命令,创建文件 test2

COPY test3 .   // 复制宿主机当前目录文件 test3 到 容器默认目录

ADD test4.tar.gz .   // ADD命令也是复制宿主机文件到容器默认目录,但ADD会先解压再复制,也可以写一个网址,ADD会先从网址下载文件再复制

ENTRYPOINT ["/bin/sh"]   // 执行命令,如果有多条,只会执行最后一条的,必然会被执行

 

2.2 镜像创建命令

在 Dockfile 文件的同级目录,执行下面命令

# docker build -t 镜像名称 .

-t :是为生成的 Docker 镜像取个名称,名称的格式为 镜像名称:版本号,只写镜像名称则代表是最后的版本

最后的点 . :是在当前目录寻找 Dockerfile 文件

 

2.3 镜像运行命令

# docker run 镜像名称

 

3. Dockerfile 实战

3.1 概述

生成一个 Docker 镜像,用于跑我们微服务组件中的 eureka。 

 

3.2 将 my-eureka 工程打包

# maven clean package 

 

3.3 编写 Dockerfile 文件

# vi Dockerfile

FROM java:8
ADD my-eureka-0.0.1-SNAPSHOT.jar my-eureka-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java","-jar","my-eureka-0.0.1-SNAPSHOT.jar"]

 

3.4 生成镜像

将打包好的 my-eureka-0.0.1-SNAPSHOT.jar 拷贝到 Dockerfile 的同级目录

# docker build -t myeureka .

 

3.5 运行镜像

docker run -d -p 35000:35000 --name myeureka myeureka

这里 eureka 使用的是 35000 端口。

 

4. 综述

今天聊了一下 Dockerfile 相关的知识 ,希望可以对大家的工作有所帮助。

欢迎帮忙点赞、评论、转发、加关注 :)

关注追风人聊Java,每天更新Java干货。

 

5. 个人公众号

追风人聊Java,欢迎大家关注

以上是关于Docker 之 Dockerfile 常用语法与实战的主要内容,如果未能解决你的问题,请参考以下文章

Docker 核心技术之Dockerfile

docker常用命令镜像命令容器命令数据卷,使用dockerFile创建镜像,dockefile的语法规则。

浅谈Docker之Docker常用命令及Dockerfile基础命令(记录)

Docker 之 Dockerfile 的概述与使用

Docker江湖之docker部署与理解

Docker Dockerfile