背景:Java后端开发,MySQL数据库必不可少

1. 宿主机中创建挂在的目录

一般都挂载到/usr/local/目录下

mkdir /usr/local/mysql-8.0

数据库一般需要将数据挂载到宿主机上,以免容器损坏导致数据丢失

2. 编写docker-compose.yml文件

version: '3'
services:
#mysql
  mysql:
  	# mysql:8.0 或其它mysql版本(自己修改)
    image: mysql:8.0 
    # 容器名册
    container_name: mysql-8.0
    environment:
      #密码设置
      - MYSQL_ROOT_PASSWORD=12345678
      - TZ=Asia/Shanghai
      - SET_CONTAINER_TIMEZONE=true
      - CONTAINER_TIMEZONE=Asia/Shanghai
    volumes:
      # 前面宿主机目录,后面容器内目录(宿主机没有的目录会自动创建)
      - /usr/local/mysql-8.0/conf:/etc/mysql/conf.d # conf.d文件准备参考我的linux安装mysql文档
      - /usr/local/mysql-8.0/data:/var/lib/mysql
      - /usr/local/mysql-8.0/logs:/var/log/mysql
      - /etc/localtime:/etc/localtime:ro
    ports:
      # 前面宿主机目录,后面容器内目录
      - 3306:3306
    restart: always
  • 可以在本地编写好yml文件然后上传到服务器
  • 也可以在服务器上直接创建docker-compose.yml文件

3. 运行docker-compose.yml

先进入到yaml文件所在目录下

docker-compose -f docker-compose.yml up -d --build mysql

命令解释:

  • -f docker-compose.yml: yal文件所在的位置
  • -d: 后台运行
  • –build mysql:–build 选项在 docker-compose 中用于重新构建服务的镜像,不使用缓存,确保根据最新的 Dockerfile 内容来构建。这相当于先执行 docker-compose build --no-cache 再执行 docker-compose up -d,从而避免了构建时的缓存干扰

4. docker ps 命令查看安装结果

docker ps

img

5. DataGrip连接mysql数据库

根据自己的数据库工具连接,我主要是用DataGrip

输入账号密码,账号默认为root, 密码为前面ym文件设置的12345678

img

登录成功

img

大功告成 END!

GitHub 加速计划 / compose / compose
33.27 K
5.15 K
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:2 个月前 )
501b5acd Add `jhrotko` to Core Maintainers. Signed-off-by: Laura Brehm <laurabrehm@hey.com> 7 天前
f51bc4cd Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> 7 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐