栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 "", 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文件

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945842.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号