美文网首页
docker进行前端应用部署

docker进行前端应用部署

作者: halapro_liu | 来源:发表于2019-12-23 12:46 被阅读0次

前言

依赖环境为centos7

一、 安装与配置

安装依赖包

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

配置镜像

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

或配置阿里云镜像

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

查看所有docker版本

yum list docker-ce --showduplicates | sort -r

安装docker-ce

sudo yum install docker-ce

启动docker-ce

sudo systemctl start docker # 启动docker
sudo systemctl enable docker # 允许自动启动docker服务

部署Vue前端页面

此配置的项目目录结构如下

.
├── Dockerfile
├── Dockerfile.node
├── README.md
├── build
│   ├── build.js
│   ├── check-versions.js
│   ├── logo.png
│   ├── utils.js
│   ├── vue-loader.conf.js
│   ├── webpack.base.conf.js
│   ├── webpack.dev.conf.js
│   ├── webpack.prod.conf.js
│   └── webpack.test.conf.js
├── cert
│   ├── symantec.key
│   └── symantec.pem
├── config
│   ├── dev.env.js
│   ├── index.js
│   ├── prod.env.js
│   └── test.env.js
├── dist
├── docker-compose.yml
├── docker.sh
├── ecosystem.config.js
├── index.html
├── nginx
│   ├── nginx.conf
│   ├── web.conf
│   └── webssl.conf
├── package-lock.json
├── package.json
├── server
│   ├── app.js
│   ├── config
│   │   ├── index.js
│   │   ├── private.pem
│   │   └── public.pem
│   ├── middlewares
│   │   └── errorhandler.js
│   ├── models
│   │   ├── base_model.js
│   │   ├── keyword.js
│   │   ├── menu.js
│   │   ├── page.js
│   │   ├── user.js
│   │   └── uuid.js
│   ├── modules
│   │   ├── keyword.js
│   │   ├── menu.js
│   │   ├── page.js
│   │   ├── user.js
│   │   └── uuid.js
│   ├── router
│   │   └── index.js
│   └── utils
│       ├── error.js
│       ├── index.js
│       ├── log.js
│       └── token.js
├── src
│   ├── App.vue
│   ├── api
│   │   ├── index.js
│   │   ├── menu.js
│   │   ├── page.js
│   │   └── user.js
│   ├── assets
│   │   ├── css
│   │   │   ├── common.css
│   │   │   └── variable.scss
│   │   ├── img
│   │   │   ├── components.svg
│   │   │   ├── css-framework.svg
│   │   │   ├── get-started.svg
│   │   │   ├── logo.png
│   │   │   └── timg.jpg
│   │   └── logo.png
│   ├── components
│   │   ├── container.vue
│   │   ├── loading.vue
│   │   ├── login.vue
│   │   ├── menu.vue
│   │   └── register.vue
│   ├── config
│   │   └── index.js
│   ├── constant
│   │   ├── colors.js
│   │   ├── index.js
│   │   ├── status.js
│   │   └── userData.js
│   ├── filters
│   │   └── index.js
│   ├── main.js
│   ├── router
│   │   └── index.js
│   ├── utils
│   │   ├── common.js
│   │   ├── ua.js
│   │   ├── validator.js
│   │   └── web-worker.js
│   └── views
│       ├── detail.vue
│       ├── editor.vue
│       ├── index.vue
│       ├── information.vue
│       └── page.vue
├── static
│   ├── css
│   │   ├── font-awesome.css
│   │   └── font-awesome.min.css
│   ├── fonts
│   │   ├── FontAwesome.otf
│   │   ├── fontawesome-webfont.eot
│   │   ├── fontawesome-webfont.svg
│   │   ├── fontawesome-webfont.ttf
│   │   ├── fontawesome-webfont.woff
│   │   └── fontawesome-webfont.woff2
│   └── js
│       └── md5.js
├── test
│   ├── e2e
│   │   ├── custom-assertions
│   │   │   └── elementCount.js
│   │   ├── nightwatch.conf.js
│   │   ├── runner.js
│   │   └── specs
│   │       └── test.js
│   └── unit
│       ├── index.js
│       ├── karma.conf.js
│       └── specs
│           ├── index.spec.js
│           └── menu.spec.js
└── yarn.lock

使用http方式部署

编写web.conf

image.png
  • 编写Dockerfile
image.png

使用https方式部署

  • 编写webssl.conf
image.png
  • 编写Dockerfile
image.png
  • 生成镜像
docker build -t front .

其中-t指定镜像名称,点则代表传递当前的工作目录

  • 运行容器
docker run -d -p 80:80 front

部署mongo服务

  • 获取mongo镜像

    • name参数:指定容器名称
    • network:指定容器网络
    • p:指定容器端口映射,左边的27017为本地端口,右边的27017为docker容器内的端口
docker pull mongo
  • 运行mongodb服务
docker run --name mongodb -p 27017:27017 -v /tmp/db:/data/db -d mongo:latest
  • 修改镜像配置文件,以支持远程连接mongo服务
docker exec -it <mongodb容器id> bash
  • 安装vim
apt-get update
apt-install vim
  • 修改配置文件
vim /etc/mongod.conf.orig
# 注释bindIp或者ip改为0.0.0.0
  • 为mongo添加用户

    • 输入mongo,进入mongodb的环境
use admin
db.createUser(
  {
    user: "xxx",
    pwd: passwordPrompt(), // or cleartext password
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

xxx为用户名,接着会提示password,输入密码,即可。

部署node服务

  • 生成ecosystem.config.js
image.png
  • 编写Dockerfile
image.png
  • 生成镜像
    • -f指定使用哪个Dockerfile
docker build -t end -f Dockerfile.node .
  • 开启容器
docker run -d -p 3000:3000 --restart always end

相关文章

网友评论

      本文标题:docker进行前端应用部署

      本文链接:https://www.haomeiwen.com/subject/hjeznctx.html