Docker部署
本文采用的是阿里云的centos7
# 更新yum
yum update
# 安装docker
yum install docker
# 启动docker
systemctl start docker
Docker安装完工
Docker 相关操作
查看所有的容器
#查看正在运行的容器
docker ps
#查看所有容器(包括停止的)
docker ps -a
#启动容器
docker start 容器id
#删除容器
docker rm 容器id
#删除所有容器
docker rm $(docker ps -aq)
#查看镜像
docker images
#下载镜像(拉取镜像)可以指定版本,不指定就会拉取最后版本
docker pull centos
docker pull centos:7
#以交互模式进入正在运行的docker(退出后容器不停止,不影响服务)
docker exec -it 容器id /bin/bash
#退出容器
exit
MySQL的安装
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 运行的镜像文件