用容器技术搭建并运行企业网站,需要经历三个主要过程:
- 构建(build):把应用代码和运行环境一起,制作成镜像文件
- 发布(release):将镜像文件发布到镜像仓库。
- 运行(run):从镜像仓库中获取镜像并运行。
容器镜像如何构建
将WordPress应用制作成容器镜像
Docker镜像制作通常有两种方式:
- 基于docker commit 制作镜像。
- 基于Dockerfile制作镜像,为主流镜像的制作方式。
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。我们可以理解Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序读取Dockerfile,解决这些命令间的依赖关系,根据指令生成定制的镜像。
相比镜像这种黑盒子,Dockerfile这种显而易见的脚本更容易被开发者接受,它明确的表明镜像是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成镜像即可,省去了敲命令的麻烦。
Dockerfile文件的编写需要遵循相应的要求和规范,Docker官方提供了相应的说明和指导,如果您想学习这方面的知识,建议可以参考Docker官方文档:Dockerfile参考。
基于Dockfile构建镜像并运行,会经历如下过程:
其中Dockerfile、Image、Container的关系如下:
- Dockerfile是软件开发的基础
- Docker镜像(Image)是软件的交付品
- Docker容器(Container)则可以认为是软件的运行态
- Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署、运行与运维,三者共同构成了 Docker 技术的底座。
构建网站应用镜像的步骤
明白以上原理之后,我们知道构建网站应用的WordPress镜像之前,需要先编写好Dockerfile文件。在本次课程中为了验证快速搭建网站,所以使用Docker官方镜像提供的WordPress的Dockerfile文件。
整体步骤如下(具体操作会在实验环节中呈现):
1、创建WordPress镜像制作目录。
# 创建WordPress镜像制作目录makeWordpress并进入该目录
mkdir -p /makeWordpress
cd /makeWordpress
2、下载Dockerfile文件和docker-entrypoint.sh预处理脚本,赋予脚本执行权限。
# 下载Dockerfile文件和配置文件
wget https://raw.githubusercontent.com/docker-library/wordpress/841f2801d0a6d0cf73321a5554d6bade4c143417/php7.3/apache/Dockerfile
wget https://raw.githubusercontent.com/docker-library/wordpress/841f2801d0a6d0cf73321a5554d6bade4c143417/php7.3/apache/docker-entrypoint.sh
# 设置文件权限
chmod 755 docker-entrypoint.sh
3、运行Docker build命令,利用Dockerfile制作WordPress镜像。
# 制作wordpress镜像,并存放到makeWordpress目录
docker build -t="wordpress:v1" /makeWordpress
4、运行Docker images查看制作出的镜像。
# 查看构建完成的镜像
docker images