1、Docker简介
概念:Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
2、Docker三要素
镜像
容器 是用镜像创建的运行实例
可以把容器看作简易版的Linux环境
仓库 是集中存放镜像文件的场所
2、CentOS7.+安装Docker
使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
设置阿里云的源
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker Engine-Community
$ sudo yum install docker-ce docker-ce-cli containerd.io
启动 Docker
$ sudo systemctl start docker
通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community
sudo docker run hello-world
3、运行第一个springBoot项目
使用Maven打包.jar
编写Dockerfile文件
# Docker image for springboot file run
# VERSION 0.0.1
# Author: eangulee
# 基础镜像使用java
FROM java:8 或者 openjdk:8-jdk-alpine
# 作者
MAINTAINER shenhongtao12@aliyun.com
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD demo-demo-0.0.1.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
项目的 jar 文件作为 “app.jar” 添加到容器的
ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source
部署文件

将jar包和Dockfile文件放置在同一目录下
制作镜像
docker build -t 镜像名 .
注:千万别忘记后面有"."点

制作完成后通过
docker images
命令查看制作的镜像
启动容器
docker run -d -p 8080:8085 镜像名
-d参数是让容器后台运行
-p 是做端口映射,此时将服务器中的8080端口映射到容器中的8085(项目中端口配置的是8085)端口
查看正在运行的容器
docker ps

停止服务
docker stop container ID

网友评论