Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
本章将详细介绍如何使用 Docker 来部署 PHP 应用程序,包括安装 Docker、创建 Dockerfile、构建 Docker 镜像、运行和管理容器等内容。
安装 Docker
在 Ubuntu 上安装 Docker
sudo apt-get update sudo apt-get install -y docker.io
在 CentOS 上安装 Docker
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io
启动 Docker 服务
sudo systemctl start docker sudo systemctl enable docker
验证 Docker 安装
docker --version
输出类似如下:
Docker version 20.10.7, build f0df350
创建 Dockerfile
Dockerfile 是一个文本文件,其中包含了一系列命令,用户可以调用 Docker CLI 来创建一个镜像。Dockerfile 文件通常命名为 Dockerfile
,且位于项目的根目录。
示例 Dockerfile
-- -------------------- ---- ------- - ----- --- -------- ---- ----------- - ------ ------- ------------- - ------- --- ------- ------ -- ------- ------- -- - ---------- - --- - -- ---------------------- --- --- --------- - ---------------------- ---- - - - ---- ------ ---- - -- ------- -- --- -----------
构建 Docker 镜像
在项目根目录下执行以下命令来构建 Docker 镜像:
docker build -t my-php-app .
这里 -t
参数用于指定镜像的名称,my-php-app
是自定义的镜像名称。.
表示 Dockerfile 所在的当前目录。
运行和管理容器
运行容器
docker run -d -p 9000:9000 --name my-running-app my-php-app
这里 -d
表示后台运行容器,-p
参数用于映射主机和容器的端口,--name
参数用于指定容器的名字,my-php-app
是之前构建的镜像名称。
查看正在运行的容器
docker ps
查看所有容器(包括已停止的)
docker ps -a
停止和启动容器
停止容器:
docker stop my-running-app
启动容器:
docker start my-running-app
查看容器日志
docker logs my-running-app
进入容器内部
docker exec -it my-running-app bash
以上就是使用 Docker 部署 PHP 应用的基本流程。通过 Docker,我们可以轻松地将 PHP 应用部署到任何支持 Docker 的环境中,确保环境的一致性,并简化部署过程。