华为云HECS云服务器docker环境下安装nginx

前提:有一台华为云服务器。

华为云HECS云服务器,安装docker环境,查看如下文章。

华为云HECS安装docker-CSDN博客

一、拉取镜像

下载最新版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标识,证明访问成功。

相关推荐
Sadsvit5 分钟前
源码编译安装LAMP架构并部署WordPress(CentOS 7)
linux·运维·服务器·架构·centos
苦学编程的谢43 分钟前
Linux
linux·运维·服务器
鹧鸪yy1 小时前
认识Node.js及其与 Nginx 前端项目区别
前端·nginx·node.js
__lll_2 小时前
Docker 从入门到实战:容器、镜像与 Compose 全攻略
前端·docker
Gss7772 小时前
源代码编译安装lamp
linux·运维·服务器
敲上瘾3 小时前
Linux I/O 多路复用实战:Select/Poll 编程指南
linux·服务器·c语言·c++·select·tcp·poll
__lll_3 小时前
Nginx proxy_pass 404/502 根源:漏写末尾斜杠 / 的修复指南
nginx
huangyuchi.3 小时前
【Linux系统】匿名管道以及进程池的简单实现
linux·运维·服务器·c++·管道·匿名管道·进程池简单实现
柏成3 小时前
写给前端仔仔的docker实战
前端·docker·面试
元清加油3 小时前
【Goland】:协程和通道
服务器·开发语言·后端·网络协议·golang