美文网首页
部署至云端

部署至云端

作者: 殁月 | 来源:发表于2021-06-18 16:08 被阅读0次

    端口更改d

    1.前端VUE    global.js

    2.后台  java

    准备工作:在服务器建立项目对应的文件夹 Cet    文件结果如下

    web:前端    server:后端    数据脚本:cetdemo.sql     

    一、部署数据库  mysql

    (1)创建Mysql镜像和容器

    docker pull mysql:5.7

    docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Cet123456 -d mysql:5.7

    检查:

    查看镜像命令 docker images

    查看容器命令 docker ps

    (2)导入数据脚本

    2.1 将sql数据脚本拷贝到服务器上,直接用拷贝即可

    2.2 将数据脚本从服务器复制到容器中    docker cp命令

    1.docker cp  sql文件地址 容器名/ID:复制地址

    docker cp  /root/Cet/cetdemo.sql  26007ec0e6e2:/tmp

    2.进入容器:docker exec -it 容器id bash

    docker exec -it 26007ec0e6e2 ba

    3.进入tmp 文件,查看是否复制成功      cd tmp    ls

    4.进入数据库,导入数据

    mysql -u root -p   

    password

      use database_name;

    source /tmp/cetdemo.sql;

      show tables;

    5.Ctrl+D 退出容器

    二、前端VUE  部署

    1.删除之前的容器和镜像      先删除容器再删除镜像

    先列出有哪些容器(列出所有的):docker ps -a

    显示所有容器:docker ps -a

    只显示容器ID:docker ps -q

    要先暂停容器,才能删除:

    暂停所有容器:docker stop $(docker ps -aq)

    暂停单个容器:docker stop < CONTAINER ID >

    删除容器:

    删除所有容器:docker rm $(docker ps -aq)

    删除单个容器:docker rm < CONTAINER ID >

    强制删除 -f, --force:docker rm -f < CONTAINER ID >

    删除指定链接-l, --link:docker rm -l < CONTAINER ID >

    删除容器关联数据卷-v --volumes:docker rm -v < CONTAINER ID >

    删除镜像

    列出镜像:docker images

    删除镜像:

    删除单个镜像:docker rmi < IMAGE ID >

    删除所有镜像:docker rmi $(docker images -q)

    遇见关联镜像删除不了时,强制删除:docker rmi -f $(docker images -q)

    2.  npm run build      复制项目dist文件夹  到web文件夹下

    建立Dockerfile  和nginx.conf 文件

    Dockerfile

    #user  nobody;

    worker_processes  1;

    #error_log  logs/error.log;

    #error_log  logs/error.log  notice;

    #error_log  logs/error.log  info;

    #pid        logs/nginx.pid;

    events {

        worker_connections  1024;

    }

    http {

        include      mime.types;

        default_type  application/octet-stream;

        #access_log  logs/access.log  main;

        sendfile        on;

        #tcp_nopush    on;

        #keepalive_timeout  0;

        keepalive_timeout  65;

        #gzip  on;

        client_max_body_size  20m;

        server {

            listen      8088;

            server_name  www.aaaaaa.com;

            #charset koi8-r;

            #access_log  logs/host.access.log  main;

        location / {

            root  /usr/share/nginx/html;

            index  index.html index.htm;

            try_files $uri $uri/ /index.html;

        }

        }

    }

    2.创建镜像

    需要切换到对应文件夹下,在web文件夹下建立

    docker build -t cetwebrep .              镜像名:cetwebrep

    3.创建容器和启动

    docker run --name=cetwebcon -d -p 80:8088 cetwebrep                      cetwebcon 容器名    8089(服务器映射端口):8088(项目本地运行端口)    cetwebrep  镜像名

    三、后端部署 

    1.maven 打包  jar        并且将Jar包  放到server文件夹下

    新建Dockerfile文件

    FROM java:8

    ADD cet-0.0.1-SNAPSHOT.jar cet.jar

    RUN bash -c 'touch /cet.jar'

    ENTRYPOINT ["java","-jar","/cet.jar"]

    目录架构:

    2.创建镜像

      docker build -t cetserverrep .

    3.创建并且启动容器

    docker run--net=host --name=cetservercon -d -p 8086:8081 cetserverrep                    8086(服务器映射端口):8081(项目本地运行端口)

    必须加  ---net=host  否则数据无法连接!!!!!

    四、乱码问题  ----  将数据库的编码方式改为utf8

    alter database cetdemo character set utf8;

    相关文章

      网友评论

          本文标题:部署至云端

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