Docker快速上手(含实例)
程序员文章站
2022-04-19 11:14:51
...
目录
1. 什么是Docker
Docker 是一种Linux 容器(Linux Containers,缩写为 LXC)解决方案,我们可以将应用打包到一个可移植的容器中,然后发布到任何Linux机器上,不用担心环境配置问题,实现带环境安装。
2. 容器(Docker)与虚拟机的对比
虚拟机也是带环境安装的一种解决方案,但它资源占用多、冗余步骤多、启动慢,而Linux容器具有启动快、资源占用少、体积小的优点,相当于轻量级的虚拟机,能够提供虚拟化的环境,但是成本开销小得多。
3. Docker可以做什么
提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。
4. Docker的三个基本概念
镜像(Image):用于创建 Docker 容器的模板,可以类比为面向对象中的类。
容器(Container):容器是镜像运行时的实体,容器通过 Docker 镜像来创建,可以类比为面向对象中的类的实例。
仓库(Repository):可看作是一个代码控制中心,用来保存镜像。
5. 使用Docker部署微服务项目
5.1.新建一个目录用于存放Dockerfile和微服务项目jar
5.2.将springboot的应用jar包放在该目录
5.3.创建一个Dockerfile放在该目录
#Dockerfile
# 基于哪个镜像
From java:8
# 复制文件到容器
ADD springboot-0.0.1-SNAPSHOT.jar /app.jar
# 声明需要暴露的端口
EXPOSE 8080
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/app.jar"]
5.4.使用当前目录下的Dockerfile创建镜像
docker build -t springboot:0.0.1 .
5.5.通过镜像创建并启动容器
docker run -p 8080:8080 springboot:0.0.1
5.6.访问部署成功的应用