本文采用的是阿里云的centos7mysql
# 更新yum yum update # 安装docker yum install docker # 启动docker systemctl start docker
Docker安装完工
sql
查看全部的容器docker
#查看正在运行的容器 docker ps #查看全部容器(包括中止的) docker ps -a #启动容器 docker start 容器id #删除容器 docker rm 容器id #删除全部容器 docker rm $(docker ps -aq) #重启全部mysql容器 docker stop $(docker ps -aq --filter 'name=mysql') #查看镜像 docker images #下载镜像(拉取镜像)能够指定版本,不指定就会拉取最后版本 docker pull centos docker pull centos:7 #以交互模式进入正在运行的docker(退出后容器不中止,不影响服务) docker exec -it 容器id /bin/bash #退出容器 exit
docker run --name mysql3307 -p 3307:3306 --privileged=true -it --hostname docker1 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=ymq -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -v /home/mysql/docker-data/3307/conf:/etc/mysql/conf.d -v /home/mysql/docker-data/3307/data/:/var/lib/mysql -v /home/mysql/docker-data/3307/logs/:/var/log/mysql -d mysql:5.7
--name 容器的名称命名 -p 暴露端口,端口的映射 上述是本机的3307端口映射到容器内的3306端口,访问本机3307就能访问容器内的数据库(3306端口) --privileged=true 赋予容器内以root用户来操做 -it 交互运行 --hostname docker1 容器内hostname,我是为了区分docker添加的,若是用不到能够去掉 -e MYSQL_ROOT_PASSWORD=123456 环境参数配置,配置mysql root角色的密码 -e MYSQL_DATABASE=ymq 建立一个ymq的数据库,用不到的能够删除掉 -e MYSQL_USER=user -e MYSQL_PASSWORD=pass `-v 很是重要,至关于docker容器的宝贵文件(相关配置,相关数据,相关日志)存放到容器外(即云服务器中),这样作的目的是不把数据放在容器内,保障数据安全` -v /home/mysql/docker-data/3307/conf:/etc/mysql/conf.d -v /home/mysql/docker-data/3307/data/:/var/lib/mysql -v /home/mysql/docker-data/3307/logs/:/var/log/mysql -d mysql:5.7 -d 后台运行容器,并返回容器ID; mysql:5.7 运行的镜像文件