Linux安装docker并部署MySQL
Linux版本:CentOS 7
MySQL版本:5.6
先使用Linux的root用户登录,再执行以下命令。
重启网卡:service network restart
暂时性关闭防火墙:systemctl stop firewalld
确保Linux能够访问互联网:ping www.baidu.com
1. 安装 docker
# 1、yum 包更新到最新
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker
yum -y install docker-ce
# 5、 查看docker版本,验证是否安装成功
docker -v
# 设置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://hub-mirror.c.163.com/"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2. 安装 MySQL 镜像
# 搜索mysql镜像
docker search mysql
# 拉取mysql镜像
docker pull mysql:5.6
3. 创建 MySQL 容器
注意:下面这个代码块是一个整体,点击右上角复制,粘贴执行即可 (不要一条一条执行)
# 首先设置用于挂载MySQL的目录(数据备份)
mkdir -p /opt/docker-mydata/mysql/conf
touch /opt/docker-mydata/mysql/conf/my.cnf
# MySQL配置文件(设置字符集) (下面9行是一个整体)
cat << EOF > /opt/docker-mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
EOF
# 创建并启动 MySQL-5.6 容器 (下面9行是一个整体)
cd /opt/docker-mydata/mysql
docker run -id \
-p 3306:3306 \
--name=d_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
参数说明:
-p Linux的端口号 : docker中MySQL的端口号; (Linux的端口号可以随意改)
设置MySQL的root用户的密码:-e MYSQL_ROOT_PASSWORD=123456
# 进入容器
docker exec -it d_mysql /bin/bash
MySQL相关
-- 登录 MySQL
mysql -uroot -p123456
-- 查看数据库
SHOW DATABASES;
-- 查看数据库的字符集
SHOW VARIABLES LIKE 'character%';
-- 修改 root 密码 ( 修改完后要执行 "FLUSH PRIVILEGES;" )
UPDATE mysql.user SET Password = PASSWORD('123456') WHERE User = 'root';
FLUSH PRIVILEGES;
附录:容器状态相关命令
# 查看容器状态
docker ps
docker ps –a
# 停止容器
docker stop 容器名称或者容器id
# 删除容器
docker rm 容器名称或者容器id
docker rm d_mysql
rm -rf /opt/docker-mydata/mysql/*
# 启动或重启容器
docker start 容器名称或者容器id
docker restart 容器名称或者容器id
附录:docker相关命令
# 启动/重启docker
systemctl start docker
systemctl restart docker
# 停止docker
systemctl stop docker
# 查看docker状态
systemctl status docker
# 开机启动docker
systemctl enable docker
# 查看本地docker的所有镜像
docker images
# 从网络中查找需要的镜像
docker search 镜像名称
# 从网络中拉取(下载)镜像
docker pull 镜像名称
# 删除本地安装的某个镜像
docker rmi 镜像名称或id
关于docker更多命令, 参考菜鸟教程,网址:
https://www.runoob.com/docker/docker-command-manual.html