docker部署springboot和vue

docker安装(centos)

添加yum安装源

$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装docker引擎

$ sudo yum install docker-ce docker-ce-cli containerd.io -y

启动docker并验证docker引擎是否安装成功

$ sudo systemctl start docker
$ sudo docker pull hello-world
$ sudo docker run hello-world

若出现错误:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

则执行守护进程重新加载命令,并重新启动docker服务:

$ systemctl daemon-reload
$ sudo service docker restart

若出现如下图,则安装成功:
docker部署springboot和vue_第1张图片

设置docker开机自启动

$ sudo chkconfig docker on

到此docker安装成功。
docker仓库地址:https://hub.docker.com/
官网安装地址:https://docs.docker.com/engine/install/centos/

安装mysql

$ sudo docker pull mysql:5.7
$ sudo docker run --name 容器名 -e MYSQL_ROOT_PASSWORD=数据库密码 -d -p 宿主机端口:3306 mysql:5.7

进入容器:

docker exec -it 容器id /bin/bash

此时远程连接成功,可对表数据库进行操作

部署springboot项目

在线安装jdk1.8,无需配置环境变量。默认安装路径:usr/lib/jvm/

$ sudo yum install -y java-1.8.0-openjdk-devel.x86_64
$ java -version

jdk安装验证成功
在这里插入图片描述

部署vue

:ro代表只读,将vue的dist目录放在宿主机目录下

$ sudo docker pull nginx:latest
$ sudo docker run --name some-nginx -v 宿主机目录:/usr/share/nginx/html:ro -d -p 宿主机端口:80 nginx

进入容器:(可能会需要更新apt-get)

$ cd /etc/nginx/conf.d
$ vim default.conf

添加location如下

location / {
        root   /usr/share/nginx/html/dist/;
        try_files $uri $uri/ @router;
        index  index.html index.htm;
}
location @router {
        rewrite ^.*$ /index.html last;
}

重新启动容器,此时项目可正常访问。

你可能感兴趣的:(docker部署springboot和vue)