docker部署nginx入门指南


前言

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。


一、系统环境

# 查看系统内核版本,安装docker前确保内存版本大于等于3.10
uname -a

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

运行环境为cenos7操作系统

二、安装docker前准备

1.更新yum源

yum update

2.安装所需安装包

yum install -y yum-utils device-mapper-persistent-data lvm2

3.设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

三、安装docker

1.安装docker

yum install docker-ce docker-ce-cli containerd.io

2.查看docker版本

docker -v

在这里插入图片描述

3.启动docker

# 启动docker
systemctl start docker

4.查看docker运行状态

systemctl status docker

在这里插入图片描述

看到running则说明docker正式启动成功

5.重启docker

systemctl daemon-reload 
systemctl restart docker

6.拉取nginx镜像

docker pull nginx
# 查看容器镜像
docker images

在这里插入图片描述

当第一次拉取镜像时,可能无法获取镜像,通过docker images会发现没有nginx镜像,如果拉取成功的化,则如上图所示。若拉取失败,出现如下错误,通过配置host解决:

  1. Get https://registry-1.docker.io/v2/: x509: certificate is valid for *.app.cision.com, app.cision.com, not registry-1.docker.io
# 安装bind-utils
yum install bind-utils
# 找出registry-1.docker.io
dig @114.114.114.114 registry-1.docker.io
# 修改registry-1.docker.io映射地址(任选其一即可)
vim /etc/hosts

在这里插入图片描述
在这里插入图片描述
2. 配置后重新执行docker pull nginx,即可拉取成功

7. 启动docker镜像

# -d 后台运行
# -p 端口映射 80 -> 8080
docker run --name nginx-container -d -p 8080:80 nginx
# 列出nginx镜像
docker ps | grep nginx
# 列出全部镜像
docker ps
# 进入容器(-it后面也可以换成CONTAINER ID,博主偷懒写个name就好了)
docker exec -it nginx-container /bin/bash
# 查看nginx文件位置
whereis nginx
# 退出容器
exit

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过以上操作,成功进入了容器,但是容器与外界环境隔离,基本的命令yum和vim命令都没有,还有修改配置,都需要每次切换到容器内部去修改配置,很是麻烦,接下来开始暴露nginx相关配置,实现本地化配置

8.拷贝容器配置

# 创建拷贝目录
mkdir nginx-container
cd nginx-container
# 存放nginx配置文件
mkdir config
# 存放nginx日志
mkdir logs
# 存放nginx静态文件
mkdir data

在这里插入图片描述

# 拷贝容器内数据(拷贝前需确保本地目录存在)
docker cp nginx-container:/etc/nginx /home/chenlin/nginx-container/config/
docker cp nginx-container:/usr/share/nginx/ /home/chenlin/nginx-container/data/
docker cp nginx-container:/var/log/nginx/ /home/chenlin/nginx-container/logs/

在这里插入图片描述

9. 移除容器

# 停止服务并移除容器
docker stop nginx-container
docker rm nginx-container

在这里插入图片描述

拷贝完容器数据,为了方便挂载,首先移除刚刚创建的容器

10.挂载容器配置

通过上面的数据拷贝,接下来进行数据挂载,这样就可以不进入容器的情况下,在本地自定义配置nginx服务
# -v参数无所谓顺序,只是将容器nginx的相关配置和本地关联起来
# 第一个参数-v:挂载nginx静态文件
# 第二个参数-v:挂载nginx配置文件
# 第三个参数-v:挂载nginx日志文件
# -v 第一个挂载位置为本地目录,第二个挂载位置是容器目录
docker run --name nginx-container -d -p 8080:80 \ 
-v /home/chenlin/nginx-container/data/nginx/html/:/usr/share/nginx/html \
-v /home/chenlin/nginx-container/config/nginx/:/etc/nginx \ 
-v /home/chenlin/nginx-container/logs/:/var/log/nginx -d nginx

在这里插入图片描述

# 获取ip地址
ip addr
# 浏览器访问
http://xxx:8080/

在这里插入图片描述

到这就结束了吗?当然还没有,因为这里还没有体现出挂载的真正用途,即使没有挂载之前其实也是可以正常访问。
修改挂载nginx配置文件:

# 修改配置文件,并重启nginx镜像
cd /home/chenlin/nginx-container/config/nginx/conf.d
vim default.conf

在这里插入图片描述

default.conf(博主本地有nginx部署了django项目,为了方便看出效果,仅配置代理)

在这里插入图片描述

11.访问nginx服务

浏览器访问 http://xxx:8080/

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值