docker+nginx重来部署vue项目

背景介绍

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

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

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

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

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

在这里插入图片描述

二、docker安装与使用

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

如果yum被占用直接干掉它

rm -rf /var/run/yum.pid

如果报错:This system is not registered with an entitlement server. You can use subscription-manager to…

vim /etc/yum/pluginconf.d/subscription-manager.conf

将enabled=0
:wq保存退出

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

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

详情参考:
https://blog.csdn.net/weixin_39531549/article/details/117420522

猜你喜欢

转载自blog.csdn.net/qq_27525959/article/details/121778698