美文网首页
docker部署实战 cupboard项目 部署小结

docker部署实战 cupboard项目 部署小结

作者: 西柚科技 | 来源:发表于2018-10-17 10:11 被阅读0次

首先docker拉取mysql、redis、tomcat、maven的镜像,直接下载官方推荐的就好

$ docker pull mysql
$ docker pull redis
$ docker pull tomcat
$ docker pull maven

然后,将项目代码上传至/data/web/cupboard中,检查一下,应该有java和html的目录。

项目代码目录

编译代码

$ docker run --rm -v /data/web/cupboard/java:/data annat/maven mvn package -Dmaven.test.skip=true

接着,启动容器:

$ docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
$ docker run -p 6379:6379 --name redis -d redis redis-server --appendonly yes

进入数据库中,添加一个cupboard账号,设置密码为123456; 并创建cupboard数据库

$ docker exec -it mysql bash
$ mysql -uroot -p123456
mysql> CREATE USER 'cupboard'@'%' IDENTIFIED BY '123456';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'cupboard'@'%' WITH GRANT OPTION;
mysql> flush privileges;
mysql> create database cupboard;
mysql> exit;
$ exit

将cupboard.sql上传至/root目录中,接着,拷贝cupboard.sql至docker;然后进入容器,导入数据库

# 拷贝cupboard.sql至docker;
$ docker cp /root/cupboard.sql  mysql:/root/cupboard.sql
# 进入容器
$ docker exec -it mysql bash
# 进入数据库
$ mysql -uroot -p123456
mysql> use cupboard;
mysql> source /root/cupboard.sql;
# 导入结束后
mysql> exit;
$ exit

接着,可以启动tomcat了:

$ docker run --name cupboard -p 8006:8080 -p 7778:7778 -v /data/web/cupboard/html:/usr/local/tomcat/webapps/ROOT -v /data/web/cupboard/java/target/ROOT/WEB-INF:/usr/local/tomcat/webapps/ROOT/WEB-INF --link mysql:mysql --link redis:redis -d tomcat

然后安装、配置nginx

$ yum install nginx
$ cd /etc/nginx
$ vim nginx.cnf
#  然后找到server的配置,改成这样(或者从邮箱下载nginx.cnf,然后替换到相应位置)
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /data/web/cupboard/html;

        # Load configuration files for the default server block.
        index  index.html index.php index.htm;
        location ~ ^.*WEB-INF.*$ {
                deny all;
        }
        location ~ ^.*Application.*$ {
                deny all;
        }
        location ~ ^.*git.*$ {
                deny all;
        }
        location ~ \.sh$ {
                deny all;
        }
        location ~ \.jsp$ {
                deny all;
        }
        location ~ \.php$ {
                deny all;
        }
        location / {
                 try_files /maintain.html $uri $uri/ @tomcat;
        }
    location @tomcat {
                proxy_pass http://127.0.0.1:8006;
        }
        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
# 按i进行编辑,编辑完成后,按esc,再按:wq退出。vim不会的话,搜索。
# 退出编辑后,重启nginx
$ systemctl restart nginx

尝试访问一下接口,看看是否部署成功

相关文章

网友评论

      本文标题:docker部署实战 cupboard项目 部署小结

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