常见问题

如何使用Docker容器化部署一个站点

一、环境准备

1. 服务器环境要求

操作系统:CentOS 7+/Ubuntu 18.04+/Debian 10+;服务器可正常联网,开放80、443端口(站点访问端口)。

2. 安装Docker

执行系统更新命令:

yum update -y  # CentOS系统
apt update -y  # Ubuntu/Debian系统

安装Docker依赖:

yum install -y yum-utils device-mapper-persistent-data lvm2  # CentOS
apt install -y ca-certificates curl gnupg lsb-release  # Ubuntu/Debian

添加Docker官方软件源并安装Docker:

# CentOS
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io

# Ubuntu/Debian
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt install -y docker-ce docker-ce-cli containerd.io

启动Docker并设置开机自启:

systemctl start docker
systemctl enable docker

验证Docker安装:

docker --version

输出版本信息即安装成功。

二、部署静态站点(Nginx基础站点)

1. 拉取Nginx官方镜像

docker pull nginx:latest

拉取完成后,查看本地镜像:

docker images

2. 创建站点本地目录

在服务器本地创建站点文件目录,用于挂载容器站点目录,实现文件持久化:

mkdir -p /data/nginx/html
mkdir -p /data/nginx/conf

3. 初始化站点页面

创建自定义首页文件:

cat > /data/nginx/html/index.html << EOF
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Docker容器部署站点</title>
</head>
<body>
<h1>站点部署成功!当前运行于Docker容器中</h1>
</body>
</html>
EOF

4. 启动Nginx容器

执行容器启动命令,映射端口、挂载本地站点目录:

docker run -d \
--name web-site \
-p 80:80 \
-v /data/nginx/html:/usr/share/nginx/html \
--restart always \
nginx:latest

参数说明:

  • -d:后台运行容器
  • --name web-site:自定义容器名称
  • -p 80:80:服务器80端口映射容器80端口
  • -v:本地目录与容器目录挂载同步
  • --restart always:容器随Docker开机自启,异常自动重启

三、站点访问测试

1. 查看容器运行状态

docker ps

显示web-site容器状态为Up即运行正常。

2. 浏览器访问站点

输入服务器公网IP/域名,直接访问:http://服务器IP

页面显示“站点部署成功!当前运行于Docker容器中”,即部署完成。

四、站点内容更新

直接修改服务器本地挂载目录文件,无需重启容器,自动生效:

vim /data/nginx/html/index.html

修改保存后,刷新浏览器页面即可查看更新内容。

五、容器常用运维命令

1. 停止站点容器:

docker stop web-site

1. 启动已停止容器:

docker start web-site

1. 重启容器:

docker restart web-site

1. 查看容器日志(排查访问异常):

docker logs -f web-site

1. 删除容器(需先停止):

docker rm web-site

六、异常排查说明

  • 无法访问站点:检查服务器防火墙、安全组是否放行80端口,确认容器正常运行
  • 页面修改不生效:确认目录挂载配置正确,无文件权限限制
  • 容器启动失败:检查80端口是否被其他程序占用,更换映射端口即可
登录收藏

评论 (0)

暂无评论,快来发表第一条评论吧