1.什么是Dockerfile
 
Dockerfile其实就是一个文本文件,由一系列命令和参数构成,Docker可以读取Dockerfile文件并根据Dockerfile文件的描述来构建镜像。
1、对于开发人员:可以为开发团队提供一个完全一致的开发环境;
2、对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了;
3、对于运维人员:在部署时,可以实现应用的无缝移植。
 
2.快速创建一个工程
 
1.创建工程
 
工程命名为`springboot-docker`
 
2.pom.xml
 
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>
 
2.application.yml
 
server:
  port: 6606
 
3.主启动
 
@SpringBootApplication
public class Application {
     public static void main(String[] args) {
           SpringApplication.run(Application.class, args);
      }
}
 
4.业务类
 
@RestController
@RequestMapping("/docker")
public class DockerController {
    @Value("${server.port}")
    private String port;
    @RequestMapping("/hello")
    public String hello(){
        return "hello docker!  port="+port;
    }
}
 
5.打包
 
maven->package
 
3.常用命令
 
| 命令 | 作用 | 
|---|
| FROM image_name:tag | 定义了使用哪个基础镜像启动构建流程 | 
| MAINTAINER user_name | 声明镜像的创建者 | 
| ENV key value | 设置环境变量 (可以写多条) | 
| RUN command | 是Dockerfile的核心部分(可以写多条) | 
| ADD source_dir/file dest_dir/file | 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压 | 
| COPY source_dir/file dest_dir/file | 和ADD相似,但是如果有压缩文件并不能解压 | 
| WORKDIR path_dir | 设置工作目录 | 
4.使用脚本创建镜像
 
1.创建目录
 
mkdir -p /usr/local/testdir
 
2.上传项目jar包到testdir目录
 

 
3.创建文件Dockerfile
 
`vim Dockerfile`
 
4.设置环境变量
 
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD springboot-docker-1.0.jar /springboot-docker-test.jar
ENTRYPOINT ["java","-jar","/springboot-docker-test.jar"]
 
5.保存退出
 
`esc`  `:`  `:wq!`
 
6.执行命令构建镜像
 
docker build -t springboot-docker-test:1.0.0 .
 

 
7.查看镜像是否建立完成
 
docker images
 

 
8.运行容器测试
 
docker run -d --name=springbootdockertest -p 6606:6606 springboot-docker-test:1.0.0
 
