前提:有一台华为云服务器。
华为云HECS云服务器,安装docker环境,查看如下文章。
一、拉取镜像
下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest )
bash
docker pull nginx
查看镜像
bash
docker images
二、宿主机创建挂载目录
执行如下命令:
bash
mkdir -p /usr/local/nginx/conf
mkdir -p /usr/local/nginx/log
mkdir -p /usr/local/nginx/html
mkdir的-p参数,有文件夹则略过,没有则创建。
三、 生成容器
执行命令:
bash
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为例,其他类似
1.3退出容器
exit
2、复制文件
//将容器文件复制到宿主机
bash
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
五、关闭容器
bash
docker stop nginx
六、删除容器
bash
docker rm nginx
七、 以挂载的方式启动容器
命令如下:
bash
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标识,证明访问成功。