127.0.0.1 mysql
slm
即可3306
,数据库账号是root
,密码是<Your Password>
,否则需要修改src/main/resources/application.yml
中的DataSource
的username
和password
字段sql/slm.sql
初始化数据库slm/src/main/resources/application.yml
中spring > datasource > password
src
下的main/java/com/brucekong/slm/
下的SlmApplication.java
,右击run 'SlmApplication'
http://localhost:8080/
即可打开登录页面由于ibrucekong/slm是公有镜像,能查询、推送、拉取等操作。
基本命令(知识点):
$ docker ps
# 查看运行的镜像$ docker images
# 查看所有镜像$ docker rename origin_name wanted_name
# 修改容器的name$ docker logs -f container_name
# 查看某个容器的log信息$ docker tag image_id repository:tag
# 修改镜像的tag$ docker search [docker-image-name]
# 查询public的镜像$ docker pull ibrucekong/slm
# 拉取镜像$ docker build -t ibrucekong/slm:latest
# 构建镜像$ docker run -it -p 8080:8080 ibrucekong/slm:latest
# 前面8080是真正运行的端口,后面的8080是内部端口,访问localhost:8080(这里的8080是前面的),ibrucekong/slm是镜像名称,latest是tag$ docker commit -m "comment" -a="author" e218edb10161 ibrucekong/slm:latest
# e218edb10161 是容器ID(run起来后,使用docker ps查看,然后停下来,再去push),-a指镜像作者,ibrucekong/slm是镜像名称,latest是tag$ docker push ibrucekong/slm:latest
# 推送镜像 latest是tag,如果提示超时,重试即可$ docker inspect ibrucekong/slm
# 验证镜像$ docker network create --subnet=172.18.0.0/16 slm
# 创建172.18.0.0子网段网络 命名为 slm$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id 或 contatiner_name
# 查看容器的运行IP拉取数据库:
docker pull mysql
# 如果本地没安装mysql,直接使用docker上的
修改数据库信息(知识点):
如果Navicat Premium链接数据库报错,提示2059 - authentication plugin 'caching_sha2_password'
,则有两种方法可以解决:
# 先修改MySQL的配置文件my.ini或my.cnf,将default_authentication_plugin=mysql_native_password
# 执行下面语句,进入docker-mysql的linux环境,可以进一步操作数据库
$ docker exec -it docker-mysql /bin/bash
# 执行下面语句,然后输入密码,进入数据库操作命令行
$ mysql -u root -p
# 将'你要修改的密码'中的汉字改为你要修改的密码,回车
$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你要改成的密码';
将Navicat Premium升级到12.0.28以上版本
推送项目包:
构建镜像
mvn clean package docker:build
测试镜像
docker run --name slm -it -p 8080:8080 ibrucekong/slm
使用docker ps
获取容器ID并记下,比如ID为061463b9b32d
。
访问(http://localhost:8080/),其中前面的8080是访问的端口,后面的8080是docker内部启动端口。
提交镜像
docker commit -m "提交日志" -a="ibrucekong" 061463b9b32d ibrucekong/slm:latest
推送镜像
docker push ibrucekong/slm:latest
推送数据库:
仓库在ibrucekong用户下,public类型,可以通过docker pull ibrucekong/slm:tag
获取。
拉取镜像
$ docker pull ibrucekong/slm:latest # 拉取项目镜像,不加:latest,默认latest
运行镜像
# 数据库部署(前提有Git环境)
# Windows设置语句,在git bash中切换到D:\database\,执行以下代码
$ git clone https://gitee.com/wefamily/mysql.git
# 使用docker运行要达到持久化,就要连接到本地的mysql数据库,使用 -v
$ docker run --name docker-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<Your Password> -v d:/database/mysql:/var/lib/mysql -d mysql
# Ubuntu设置语句,在git bash中切换到~/Documents/slm/,执行以下代码
$ git clone https://gitee.com/wefamily/mysql.git
$ docker run --name docker-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<Your Password> -v ~/Documents/slm/mysql:/var/lib/mysql -d mysql
# 在navicat中使用slm.sql文件还原数据库(数据库sql文件在sql文件夹中)
# SLM项目部署
$ docker run -it -p 8080:8080 --name docker-slm --link docker-mysql:mysql ibrucekong/slm # 再运行项目,关键 --link docker-mysql:mysql 的mysql字段
测试系统
在浏览器中访问(http://localhost:8080/),系统即可正常运行。
在浏览器中访问(http://localhost:8080/doc.html),访问接口文档。
docker pull ibrucekong/slm
获取此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。