基于 docker 安装 nginx 详细教程
1. 创建普通用户用于管理 docker
在本教程中我们创建一个普通用户来进行后续的docker相关服务的配置与运维。当然本操作是非必须的,你可以直接使用root用户来直接操作,对整个流程没有影响。不想创建用户请直接跳过第一部分,从第二部分开始操作即可。
创建普通用户 lidy
useradd lidy
设置普通用户
lidy
的密码passwd lidy
创建 docker 文件夹,用于存放 docker 相关的数据
cd /home
mkdir docker_data
创建 docker 文件夹
chmod -R 777 docker_data
将普通用户提权
visudo
添加以下内容
## Grant administrator privileges
lidy ALL=(ALL) NOPASSWD:ALL
2. 安装 docker 容器
通过 yum 命令卸载旧版本的 docker,未安装可跳过这步
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
安装相关依赖包,才能正确安装docker。其中 yum-util 提供 yum-config-manager 功能,其他的 提供devicemapper驱动依赖
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
默认源为国外,下载可能会出现很慢或者下载失败的情况。尽量将源换为国内源。这里我选用的是 阿里仓库
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
开始安装docker服务
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动 docker 容器
systemctl start docker
其他命令,可以配合部署的时候使用
# 启动docker服务
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
3. docker中安装 nginx
创建nginx中数据存放文件夹
cd /home/docker_data
mkdir nginx
在 docker 中安装 nginx
# 拉取 nginx 镜像
docker pull nginx
# 启动 nginx
docker run --restart=always --name=nginx -p 80:80 -d nginx
复制容器的的配置文件到宿主机器 (配置文件映射)
docker cp nginx:/etc/nginx /home/docker_data/nginx/conf
docker cp nginx:/usr/share/nginx/html /home/docker_data/nginx/html
docker cp nginx:/var/log/nginx /home/docker_data/nginx/logs
删除nginx容器,并通过复制出的配置文件启动
# 停止 docker 容器
docker stop nginx
# 删除 docker 容器
docker rm -f nginx
以复制出的配置文件启动
docker run --restart=always --name=nginx -p 80:80 \
-v /home/docker_data/nginx/conf:/etc/nginx \
-v /home/docker_data/nginx/html:/usr/share/nginx/html \
-v /home/docker_data/nginx/logs:/var/log/nginx \
-d nginx
查看是否部署成功
使用浏览器打开 http://127.0.0.1:80 看到如下页面表示部署成功。