docker安装mysql

498 阅读1分钟

简介

因为最近打算跟朋友合作个项目,项目需要用到mysql,打算用docker安装一下

docker 安装

云服务器的系统是centos7.2,直接用yum安装好了

yum update
yum install docker 
systemctl enable docker
systemctl start docker

mysql 安装

先拉取镜像

docker pull mysql

安装


docker run \
--name mysql -p 3306:3306 \
-v /mnt/mysql/conf:/etc/mysql/conf.d \
-v /mnt/mysql/logs:/logs \
-v /mnt/mysql/data:/var/lib/mysql \
-–privileged=true \
-e MYSQL\_ROOT\_PASSWORD=123 -d mysql

解释:

  • --name mysql 将容器命名为mysql
  • -p 3306:3306 将容器的3306端口绑定到主机的3306端口
  • -v 挂载
  • -d 后台运行
  • -e 运行参数 初始化 root 用户的密码
  • mysql 镜像名

追加: 最近去谷歌云上安装mysql的 时候报了权限问题

可以在安装命令后追加

-–privileged=true

将docker设置可以远程访问

docker exec -it mysql /bin/bash
mysql -u root -p
#修改mysql允许远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
FLUSH PRIVILEGES

docker-compose 安装mysql

第一步:安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

编写docker-compose.yml

version: '2.0'
services:
  mysql:
    container_name: mysql
    image: mysql
    privileged: true 
    volumes:
      - "./data:/var/lib/mysql"
    environment:
      MYSQL_DATABASE: "yodu"
      MYSQL_ROOT_PASSWORD: "tangrongji"
    ports:
      - "3306:3306"

第三步:执行docker-compose(在docker-compose.yml的相同目录)

docker-compose up -d