安装docker就不说了
docker安装nginx, 并把配置文件和默认页面挂载到本地, 保存shell直接运行
#!/bin/bash
# 指定本地目录和容器名称
local_config_folder="/nginx/config"
local_default_page="/nginx/html"
local_log_folder="/nginx/logs"
container_name="nginx"
# 检查并创建本地目录
create_directory() {
local folder_path=$1
echo "检查目录 $folder_path 是否存在..."
if [ ! -d "$folder_path" ]; then
echo "创建目录 $folder_path ..."
sudo mkdir -p "$folder_path"
sudo chown -R $USER:$USER "$folder_path"
fi
}
create_directory "$local_config_folder"
create_directory "$local_default_page"
create_directory "$local_log_folder"
# 启动 nginxdemo 容器并将配置、默认页面和日志拷贝到指定文件夹
echo "启动 nginxdemo 容器..."
sudo docker run -d --name nginxdemo nginx:latest
sudo docker cp nginxdemo:/etc/nginx/. "$local_config_folder"
sudo docker cp nginxdemo:/usr/share/nginx/html/. "$local_default_page"
sudo docker cp nginxdemo:/var/log/nginx/. "$local_log_folder"
# 删除 nginxdemo 容器
echo "删除 nginxdemo 容器..."
sudo docker stop nginxdemo
sudo docker rm nginxdemo
# 创建并运行正常的 Nginx 容器并挂载配置、默认页面和日志
echo "创建并运行 Nginx 容器..."
sudo docker run -d --name "$container_name" \
-v "$local_config_folder":/etc/nginx \
-v "$local_default_page":/usr/share/nginx/html \
-v "$local_log_folder":/var/log/nginx \
-p 80:80 nginx:latest
echo "Nginx 安装和配置完成。"