前提:有一台华为云服务器。
华为云HECS云服务器,安装docker环境,查看如下文章。
华为云HECS安装docker-CSDN博客
一、拉取镜像
下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest )
docker pull nginx
查看镜像
docker images
二、宿主机创建挂载目录
执行如下命令:
mkdir -p /usr/local/nginx/conf
mkdir -p /usr/local/nginx/log
mkdir -p /usr/local/nginx/html
mkdir的-p参数,有文件夹则略过,没有则创建。
三、 生成容器
执行命令:
docker run -p 80:80 --name nginx -d nginx
四、 复制文件
1、确认文件地址
1.1进入容器内部
docker exec -it nginx /bin/bash
1.2找到nginx.conf所在的地址(找到相关配置文件)
find / -name nginx.conf
这里以/etc/nginx/nginx.conf为例,其他类似
nginx.conf文件内容(示例):
#使用XXXt用户访问
user nginx;
#user root;
# worker进程的数量,设置为auto,将获取CPU的核心数
worker_processes auto;
error_log /var/log/nginx/error.log notice;
# 配置主进程pid存放位置
pid /var/run/nginx.pid;
events {
# 设置每个工作进程同时连接的最大数量
worker_connections 1024;
}
# 提供配置文件上下文,设置http服务器
http {
# 设置包含的mime类型
include /etc/nginx/mime.types;
# 定义响应的默认mime类型
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
# 高效文件传输模式
sendfile on;
#tcp_nopush on;
# 长连接超时时间,在此期间客户端连接将保持打开状态,如果连接一直活跃,超时时间将自动刷新。如果设置为0,即禁用长连接
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
# 虚拟服务器配置
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}
1.3退出容器
exit
2、复制文件
//将容器文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf
docker cp nginx:/etc/nginx/conf.d/ /usr/local/nginx/conf
docker cp nginx:/usr/share/nginx/html/ /usr/local/nginx
docker cp nginx:/var/log/nginx /usr/local/nginx/log
五、关闭容器
docker stop nginx
六、删除容器
docker rm nginx
七、 以挂载的方式启动容器
命令如下:
docker run -p 80:80 \
--name nginx \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /usr/local/nginx/log:/var/log/nginx \
-v /usr/local/nginx/html:/usr/share/nginx/html \
--restart=always \
--privileged=true \
-d nginx
参数解析:
【-p 80:80】 将宿主机80端口与容器内80端口进行映射;
【–name】 给容器命名;
【-v】 将宿主机目录或文件与容器内目录或文件进行挂载映射;【 --restart=always】 开机启动,失败也会一直重启;
【--privileged=true】获取宿主机root权限。
【-d】表示后台启动;
八、HECS安全组开端口
九、访问nginx
有nginx标识,证明访问成功。文章来源:https://uudwc.com/A/dbxxN
文章来源地址https://uudwc.com/A/dbxxN