- 一个是mysql的脚本文件
- 一个是创建mysql容器的配置文件
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 "
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文件
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



