部署至云端

端口更改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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容