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 "", line 1, in     IOError: [Errno 2] No such file or directory: '/tmp/pip-build-e0oyPd/importlib-metadata/setup.py'

 解决办法

度娘一顿操作猛如虎,执行以下命令

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

参考链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: