一、在Cento环境的docker安装好后,准备Nginx镜像部署环境:
1、docker pull最新版的 Nginx 镜像
docker pull nginx:latest
2、查看docker环境中所有镜像
docker images [完整的镜像: --no-trunc]
3、指定镜像的参数启动一个容器
docker run --rm --name qy_nginx(容器名称) -p 8080:80 -d nginx
4、查看容器列表(如查含未启动容器需加参数-a)
docker ps -a
二、两种方案部署Vue+NdeJs项目:运维人员静态挂载和开发人员Idea一键部署。
运维人员静态挂载方案:
1、进qy_nginx容器(虚拟机),然后复制nginx文件到本地,以便后配置期挂载项目:
docker exec -it qy_nginx /bin/bash
docker cp qy_nginx:/etc/nginx/nginx.conf /usr/project/plugins/ qy_nginx/conf/
docker cp qy_nginx:/etc/nginx/conf.d/default.conf /usr/project/plugins/qy_nginx/conf.d/
docker cp qy_nginx:/usr/share/nginx/html/index.html /usr/project/plugins/qy_nginx/html/
2、删除测试容器qy_nginx
docker stop qy_nginx
docker rm -f qy_nginx
3、使用挂载目录启动基于nginx创建实际项目容器并启动:
docker run --name qy_nginx -d -p 8080:80 \
-v /usr/project/plugins/qy_nginx/html:/usr/share/nginx/html \
-v /usr/project/plugins/qy_nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/project/plugins/qy_nginx/conf.d:/etc/nginx/conf.d \
-v /usr/project/plugins/qy_nginx/logs:/var/log/nginx nginx
命令解读:
run:启动一个docker容器
name:容器的名称
d: 后台启动
p: 绑定别的端口 -p a:b 将宿主机器的a端口绑定到容器的b端口 -P 为随机绑定到端口
v : 挂载的内容 宿主机器的文件夹:容器的文件夹
查看启动是否有错误日志: docker logs 21de6401e69f[容器ID]
开发人员Idea一键部署:
1、开通docker远程连接
修改vi /usr/lib/systemd/system/docker.service的ExexStart=
改成
修改后先重载systemctl daemon-reload
然后重启docker服务service docker restart
2、测试一下看是否能连接到docker api,2375对应上面端口
curl http://localhost:2375/version
3、放通端口
firewall-cmd --zone=public --add-port=2375/tcp
4、在Idea的File>Settings>plugins安装Dorker插件和配置
6、在Vue项目下创建Dockerfile文件,编辑内容如下:
# 设置基础镜像
FROM nginx:latest
# 定义作者
MAINTAINER RSW
# 将dist文件中的内容复制到 /usr/share/nginx/html/ 下面
COPY dist/ /usr/share/nginx/html/
# default.conf配置了后台和注册中心的api
COPY default.conf /etc/nginx/conf.d/
7、配置Dockerfile配置一键部署构建镜像和容器
8、执行Dockerfile-vue构建部署
请求验证部署是否成功: