docker+nginx部署vue项目

147 阅读3分钟

背景介绍

本想按照之前的docker重新过一遍的时候发现有几个坑在上篇没提到。今天重新走一遍。

一、先安装虚拟机(已经有服务器的这一步可以直接跳过)

这里linux镜像用的是阿里的镜像,工具vmware workstation,地址: mirrors.aliyun.com/centos/7/is…

在这里插入图片描述 镜像直接安装就ok了,一键默认到底。(安装有点慢啊,耐心等待中...) 因为怕踩的坑不够多,所以一切从无到有走一遍,尽量后面少踩坑。

在这里插入图片描述 话不多说,先看ip 在这里插入图片描述 连接这个虚拟机,工具随便啥都行,我这里用了finallshell和xftp. 在这里插入图片描述

在这里插入图片描述

二、docker安装与使用

  1. 首先安装docker
    yum -y install docker
    

在这里插入图片描述 貌似还挺顺利哈。

whereis docker

在这里插入图片描述 貌似也有了。

  1. 启动docker
	systemctl start docker

查看是否启动成功:

	systemctl status docker

在这里插入图片描述 是启动状态。

  1. 拉取nginx镜像
docker pull nginx

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

  1. 创建容器同时映射文件,这里先提前创建好文件 在这里插入图片描述 在这里插入图片描述 这个是我这边的目录结构。
docker run -d -p 16677:80 --name mypro -v /home/pro/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/pro/nginx/html:/usr/share/nginx/html nginx

docker run -d -p 你创建的端口:80 --name 容器名称 -v 主机文件地址:容器文件地址

run: 创建一个新的容器并运行一个命令 -d: 后台运行容器,并返回容器ID -p: 端口映射,格式为:主机(宿主)端口:容器端口 --name="npmcs-test": 为容器指定一个名称 -v挂载宿主机的一个目录

这里有一点需要注意的是nginx的配置,以前的同事第一次也遇到过。就是不清楚root的地址该用哪个地址。

在这里插入图片描述 root的地址不要弄错了。 但是。。。 在这里插入图片描述 创建了,但是没启动,启动后立马会关闭。很烦。

原因: 容器同时只能管理一个进程,如果这个进程结束了容器就退出了,但是不表示容器只能运行一个进程(其他进程可在后台运行),但是要使容器不退出必须要有一个进程在前台执行。 那就去掉-d试一下,

docker run -p 16677:80 --name pro -v /home/pro/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/pro/nginx/html:/usr/share/nginx/html nginx

在这里插入图片描述 还是报错。

getenforce 这个命令可以查看当前是否开启了selinux 如果输出 disabled 或 permissive 那就是关闭了 如果输出 enforcing 那就是开启了 selinux

这边两个选择,

临时关闭: setenforce 0 ##设置SELinux 成为permissive模式 setenforce 1 ##设置SELinux 成为enforcing模式

永久关闭 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 重启系统即可

我这里选择临时关闭 在这里插入图片描述

docker run -p 16688:80 --name apro -v /home/pro/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/pro/nginx/html:/usr/share/nginx/html nginx

注意:我这里直接卡死,所以还是用后台启用的方式。

docker run -d -p 16688:80 --name apro -v /home/pro/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/pro/nginx/html:/usr/share/nginx/html nginx

在这里插入图片描述 在这里插入图片描述 成功。 不过之前还遇到了其他的问题,就是yum版本不兼容问题。 参考下面链接可完美解决,主要就是更新yum

sudo yum update

详情参考: blog.csdn.net/weixin_3953…