一. linux安装docker
1. 先删除本机旧的或者残留的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 安装依赖
sudo yum update -y && sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3. 配置镜像源
# 阿里源
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4. 安装
yum install docker-ce docker-ce-cli containerd.io
5. 检查是否安装完成
docker --version
6. 启动并设置开机启动
systemctl start docker
systemctl enable --now docker
二. 配置镜像源
docker安装完成可以直接拉取镜像了,我这里拉取mysql5.7的版本
但是无法拉取镜像。我们需要配置国内的镜像源
打开/etc/docker/daemon.json
文件 如果没有该文件,创建一个
使用vim命令加上国内镜像源
vim daemon.json
{
"registry-mirrors": [
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://hub.uuuadc.top",
"https://dockerhub.jobcher.com/",
"https://docker.chenby.cn",
"https://docker.anyhub.us.kg"
]
}
然后应用该配置,使其配置生效
sudo systemctl daemon-reload
重启docker
sudo systemctl restart docker
三. 安装mysql
如您所知,Docker 容器原则上是短暂的,如果容器被删除,任何数据或配置都可能会丢失。然而,Docker 卷提供了一种机制来保存在 Docker 容器内创建的数据。它们是 Docker 用于存储 Docker 容器持久数据的首选机制。
默认情况下,MySQL 将其数据文件存储在该 /var/lib/mysql 目录中。因此,在部署之前,您需要设置一个 Docker 卷来持久化您的数据库。否则,当容器重新启动时,您的数据将丢失。
让我们创建一个新卷并将其命名为mysql-data。这将用于存储您的所有数据库信息。
docker volume create mysql-data
您可以通过发出以下命令列出 Docker 已知的所有卷:
docker volume ls
如您所见,我们新创建的名为 Docker 的卷mysql-data在这里并准备好提供数据。然后可以将其附加到新创建的 MySQL 容器。
拉取mysql5.7镜像
docker pull mysql:5.7
拉取完成后,启动mysql5.7
docker run -d --name=mysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your password mysql:5.7
以下是每个参数的含义
-d 将以分离模式运行此容器,以便它在后台运行。
--name 将名称分配mysql-server给您的容器实例。如果不指定此项,Docker 将生成一个随机名称。
-p 将 MySQL 容器端口绑定3306到主机上的相同端口。您将能够 使用在您的主机上运行的MySQL 客户端 ( )连接到 127.0.0.1端口。3306mysql
-v 选项将容器卷 ( /var/lib/mysql)内的数据文件夹绑定到mysql-data您在上一步中创建的本地 Docker 卷 ( )。
-e 设置环境变量。在这种情况下,MySQL 根密码。
mysql 是我们用来创建容器的图像的名称。
MYSQL_ROOT_PASSWORD MySQL root 用户设置密码。
通过以下命令查看mysql正在运行的容器
docker ps
现在你可以通过任何远程链接到mysql