简介
因为最近打算跟朋友合作个项目,项目需要用到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