前言
在应用部署方面,前面已经介绍了通过yaml配置文件将应用镜像部署到集群的过程,本节介绍下应用如何打包成镜像。
一、镜像
首次了解镜像这个概念是在第一次装系统的时候,镜像是一种文件存储形式,一个个系统被存储在镜像中,通过这些镜像可以按照系统。
集群里说的镜像也是同样的意思,这里的镜像一般是指容器镜像,容器目前最常用是docker,所以一般会认为集群的镜像也是docker镜像。(当然,其实也是见识问题,对其他容器技术不怎么了解,听说现在Podman很火啊。)
二、docker镜像
1.docker
docker就是开源的应用容器引擎,对于docker技术的使用入门教程和介绍网上也很多,比如菜鸟教程的也很不错,这里只记录会用到的和常用的一些命令。
- 打算在集群中事先准备好镜像,常用到:
拉取镜像:docker pull 镜像 制作镜像:docker build -t 镜像 dockerfile目录
拉取镜像时要注意关于容器代理的配置。制作镜像主要在于dockerfile文件的编写。
- 直接使用使用镜像
启动容器:docker run -it 镜像 /bin/bash
用集群部署,一般较少使用该命令。
- 查看当前环境镜像信息
列出镜像列表:docker images
有时会很多,建议配合grep使用。
2.制作镜像
Dockerfile 是一个用来构建镜像的文本文件,常听说docker镜像是分层的结果,这点从使用Dockerfile制作镜像的原理能只管体现出来。因为在 Dockerfile 中,一般会先选择一个基础镜像作为起点,之后的每一条指令都会创建一个镜像层,继而会增加整体镜像的大小。
下面是打包应用成镜像时会用到的一些指令介绍: FROM :一般都在第一行,用于选择基础镜像,之后执行的指令都会基于上一步的结果去执行。 RUN :后接shell命令,在终端执行该命令,命令会在镜像构建才去执行。 COPY : 拷贝文件到容器内指定的目录,可以通过这个将应用启动需要的文件拷贝进容器。 ENV :是给容器内环境设置环境变量。 CMD :后接shell命令,同样是执行命令,但是这个一般用于启动应用程序,命令会在镜像运行时才去执行。 EXPOSE : 接端口,用于将容器内的端口往容器外进行暴露。
|