1.创建一个springboot项目
1.1在根目录下创建两个文件
一个是mysql的脚本文件一个是创建mysql容器的配置文件
略。。。。。。。。。。。。。。
2.创建并连接docker中的mysql容器
2.1通过配置文件docker-compose.yml 创建docker中的mysql容器 最后networks: - ems会报错先记录一下
version: "3.8"
volumes:
data:
services:
mysql:
image: mysql:8.0
ports:
- "3306:3306"
environment:
- "MYSQL_ROOT_PASSWORD=root"
- "MYSQL_DATABASE=ems"
volumes:
- data:/var/lib/mysql
- ./ems.sql:/docker-entrypoint-initdb.d/ems.sql
networks:
- ems
2.2连接虚拟主机
2.3编辑名称并选择SFTP
2.4在虚拟主机目录下创建ems文件夹,并将提前准备好的sql文件和刚才编辑的配置文件拖入虚拟主机的ems目录下
2.5验证docker-compose
2.6选择创建的虚拟主机名称
cd 项目目录 cd ems(我的文件名是ems)
输入命令 docker-compose config 如果得到如下响应 说明地址没有问题
如果出现-bash: docker-compose: command not found报错 请移步至文章末端
启动:docker-compose up -d
报错了:
WARNING: Some networks were defined but are not used by any service: outside ERROR: Service "mysql" uses an undefined network "ems"
解决办法:修改配置文件加入网络
方法1:
networks:
network1:
external: true
name: ems
方法2:
networks:
ems:
driver: bridge(声明要生成的网络)
继续执行命令docker-compose up -d 启动成功
688ba7d5c01a: Pull complete
00e060b6d11d: Pull complete
1c04857f594f: Pull complete
4d7cfa90e6ea: Pull complete
e0431212d27d: Pull complete
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:8.0
Creating ems_mysql_1 ... done
docker ps 查看 已经启动
3.在执行命令过程中遇到了一个-bash: docker-compose: command not found错误
3.1解决报错-bash: docker-compose: command not found
解决办法: 1、安装pip
# yum -y install epel-release
# yum -y install python-pip
2、升级pip
# pip install --upgrade pip
3、安装docker-compose插件
# pip install docker-compose
注意安装插件的时候可以看一下日志是否有报错
我遇到的报错如下
Traceback (most recent call last): File "
解决办法
度娘一顿操作猛如虎,执行以下命令
pip3 install --upgrade pip
再安装docker-compose就不报错了
[root@localhost ~]# pip3 install docker-compose
[root@localhost ~]# docker-compose -version
docker-compose version 1.29.1, build unknown
4、验证是否安装成功
# docker-compose -version
docker-compose version 1.26.2, build unknown
大功告成!!!!!!
mysql文件
/*
Navicat MySQL Data Transfer
Source Server : test
Source Server Type : MySQL
Source Server Version : 80026
Source Host : localhost:3306
Source Schema : ems
Target Server Type : MySQL
Target Server Version : 80026
File Encoding : 65001
Date: 30/05/2022 13:57:26
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for department
-- ----------------------------
DROP TABLE IF EXISTS `department`;
CREATE TABLE `department` (
`id` int NOT NULL COMMENT '主键',
`dep_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '部门名称',
`dep_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '部门地址',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of department
-- ----------------------------
INSERT INTO `department` VALUES (1, '财务部', '203房间');
INSERT INTO `department` VALUES (2, '生产部', '222房间');
-- ----------------------------
-- Table structure for staff
-- ----------------------------
DROP TABLE IF EXISTS `staff`;
CREATE TABLE `staff` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '员工id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '员工姓名',
`sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '年龄',
`creat_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
`dep_id` int NULL DEFAULT NULL COMMENT '部门id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of staff
-- ----------------------------
INSERT INTO `staff` VALUES (1, '张三', '男', '2022-05-30 13:52:29', '2022-05-30 13:52:34', NULL);
INSERT INTO `staff` VALUES (2, '李四', '男', '2022-05-30 13:52:29', '2022-05-30 13:52:34', 1);
INSERT INTO `staff` VALUES (3, '王五', '女', '2022-05-30 13:52:29', '2022-05-30 13:52:34', 2);
INSERT INTO `staff` VALUES (4, '小张', '男', '2022-05-30 13:52:29', '2022-05-30 13:52:34', 2);
INSERT INTO `staff` VALUES (5, '小明', '男', '2022-05-30 13:52:29', '2022-05-30 13:52:34', 1);
INSERT INTO `staff` VALUES (6, '小红', '女', '2022-05-30 13:52:29', '2022-05-30 13:52:34', 1);
SET FOREIGN_KEY_CHECKS = 1;
docker-compose.yml
version: "3.8"
volumes:
data:
services:
mysql:
image: mysql:8.0
ports:
- "3306:3306"
environment:
- "MYSQL_ROOT_PASSWORD=root"
- "MYSQL_DATABASE=ems"
volumes:
- data:/var/lib/mysql
- ./ems.sql:/docker-entrypoint-initdb.d/ems.sql
networks:
network1:
external: true
name: ems
参考链接
发表评论