1. Docker 概念:
Doker是一种虚拟化容器技术,可以用来简化虚拟机装软件过程。其工作思想为基于镜像,秒级启动各种容器,每一个容器都是一种完整运行环境,容器间互相隔离。
Docker 镜像市场:[https://hub.docker.com/](https://hub.docker.com/)
2. Docker 的安装
官网安装教程 https://docs.docker.com/engine/install/centos/
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
注意:中途有两次确认过程,要输入 y 回车 ,当然出错了直接重新执行上述命令就行了
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl start docker
查看 docker 版本:
docker -v
查看 docker 中有那些镜像:
sudo docker images
sudo systemctl enable docker
阿里云镜像加速器配置官网:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker
# 切换镜像
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://9kblpde2.mirror.aliyuncs.com"]
}
EOF
# 重启线程
sudo systemctl daemon-reload
# 重启 Docker
sudo systemctl restart docker
总结: 这部分没什么特别注意的,直接按照上面的命令挨个执行就 OK 了,如果有在安装过程中出现问题的,欢迎评论区交流 ~~
3. 通过 Docker 安装软件
在这部分进行时,一定要确定自己的虚拟机是连上网络的,可以通过执行下列命令查询,我就是虚拟机没连上网络,然后执行安装命令,一直不成功,换各种镜像也不成功,后来配置好了网络才成功。
ping www.baidu.com
(1)安装 mysql 5.7
sudo docker pull mysql:5.7
sudo docker images
先切换到管理员
su root
sudo docker run \
-p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
解释创建实例部分:
docker run —— 启动一个容器 (mysql 容器就是一个小小的完整 Linux )
-p 3306 等于映射 docker 容器到当前虚拟机
-v 表示目录挂载 —— mysql 容器内部有 mysql 配置文件夹,-v 就是表示将容器内的文件夹与 Linux 的文件夹进行挂载 (log 日志、data 数据、conf 配置)
进入 MySQL 容器内部 命令:
docker exec -it mysql /bin/bash
重启 MySQL 容器命令
docker restart mysql
设置 Mysql 开机自启动
docker update mysql --restart=always
(2) 下载 redis
sudo docker pull redis
mkdir -p /mydata/redis/conf
cd mydata/
cd redis/
cd conf/
touch redis.conf
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
docker exec -it redis redis-cli
vi redis.conf
在配置文件中加入 (vi esc 然后 :wq 保存退出):
appendonly yes
docker restart redis
docker update redis --restart=always