Centos7安装Docker并部署vue项目
centos7安装Docker全过程记录(无坑版教程)
一、安装前必读
在安装 Docker 之前,先说一下配置,我这里是Centos7
Linux 内核:官方建议 3.10 以上,3.8以上貌似也可。
注意:本文的命令使用的是 root 用户登录执行,不是 root 的话所有命令前面要加 sudo
1.查看当前的内核版本
# uname -r
3.10.0-1127.el7.x86_64
我这里是3.10 ,满足条件。
2.使用 root 权限更新 yum 包(生产环境中此步操作需慎重,看自己情况,学习的话随便搞)
yum -y update
这个命令不是必须执行的,看个人情况,后面出现不兼容的情况的话就必须update了
注意
yum -y update:升级所有包同时也升级软件和系统内核;?
yum -y upgrade:只升级所有包,不升级软件和系统内核
3.卸载旧版本(如果之前安装过的话)
yum remove docker docker-common docker-selinux docker-engine
......
作为依赖项被删除...
完毕!
二、安装Docker的详细步骤
1.安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
2.设置 yum 源
设置一个yum源,下面两个都可用
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
3.选择docker版本并安装
(1)查看可用版本有哪些
yum list docker-ce --showduplicates | sort -r
显示内容大致如下:
已加载插件:fastestmirror,langpacks
己安装的软件包
可安装的软件包
Loading mirror speeds from cached hostfile
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
(2)选择一个版本并安装:yum install docker-ce-版本号
yum -y install docker-ce-18.03.1.ce
安装最新版命令
yum -y install docker-ce docker-ce-cli containerd.io
正在解决依赖关系.....
正在再装:......
出现下图说明安装成功
已安装:......
作为依赖被安装:......
完毕!
4.启动 Docker
systemctl start docker
设置开机自启
systemctl enable docker
如果无法正常拉取镜像,所以就需要我们为docker设置国内阿里云的镜像加速器;
需要修改配置文件 /etc/docker/daemon.json
切换到对应路径,没有文件就新建
# touch daemon.json
vi daemon.json
输入:
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
或者
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
i进入编辑,esc退出,:冒号切换到行尾,输入wq,保存并退出
重新启动容器:
systemctl restart docker
拉取镜像源就没问题了。
三、部署vue项目
1、首先对前端项目进行打包:npm run build
打包完成,在项目中生成dist文件。
2、通过Xshell在/home目录下创建项目文件夹
mkdir xxxx(文件名)
3、通过Xftp将打包的dist文件上传到服务器的项目文件夹下。
4、利用Xshell在拉取nginx镜像
docker pull nginx
5、在项目文件夹下编写nginx的config配置文件
命令
vim default.conf
内容:
default.conf内容如下:
server {
listen 80;
server_name localhost; # 修改为docker服务宿主机的ip
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
该配置文件定义了首页的指向为 /usr/share/nginx/html/index.html, 所以我们可以一会把构建出来的index.html文件和相关的静态资源放到/usr/share/nginx/html目录下。
6、在项目文件夹下编写Dockerfile文件
vim Dockerfile
Dockerfile内容如下:
FROM nginx
MAINTAINER zouzou
RUN rm /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/
Dockerfile内容解释
FROM nginx:该镜像是基于nginx:latest镜像构建的
MAINTAINER zouzou:添加说明
RUN rm /etc/nginx/conf.d/default.conf:删除目录下的default.conf文件
ADD default.conf /etc/nginx/conf.d/:将default.conf复制到/etc/nginx/conf.d/下,用本地的default.conf配置来替换nginx镜像里的默认配置
COPY dist/ /usr/share/nginx/html/:将项目根目录下dist文件夹(构建之后才会生成)下的所有文件复制到镜像/usr/share/nginx/html/目录下
如下三个文件保持在同一目录
default.conf dist Dockerfile
7、构建docker镜像:
docker build -t xxxx .
注意不要少了最后的“.”(点) -t是给镜像命名,.(点)是基于当前目录的Dockerfile来构建镜像
(最后提示:Successfully built 98hgjj66ffii)
8、查看刚刚构建的镜像
docker images | grep xxxx
9、启动docker容器
docker run -d -p 9090:80 --name test xxxx
解释:
docker run:基于镜像启动一个容器
-d:后台方式启动
-p 9090:80: 端口映射,将宿主机的9090端口映射到容器的80端口
--name:容器名,我起的叫test
xxxx:要启动的镜像名称
查看启动的容器
docker ps
访问
现在我们已经启动了,访问宿主机的地址:9090就可以看到我们部署的网站了