idea中通过docker 创建mysql容器 及报错-bash: docker-compose: command not found

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 "<string>", line 1, in <module>
    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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值