docker官网:Docker: Accelerated Container Application Development
docker镜像仓库:https://hub.docker.com/search?q=nginx
官网的安装教程:Install Docker Engine on CentOS | Docker Docs
1、卸载以前安装的docker 如果是root用户,不需要带着sudo 非root用户执行需要带上
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2、设置docker的地址
2.1 设置之前先下载依赖的包
sudo yum install -y yum-utils
2.2 设置docker的地址
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3、安装
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
配置阿里云的镜像 每一个sudo是一个指令
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://1fbpmzje.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
# 查看docker运行状态
sudo service docker status
# 启动docker
sudo systemctl start docker
# 查看docker版本
docker -v
# 检查下载了那些镜像
sudo docker images
# 查看docker正在运行中的容器
sudo docker ps
# 重启指定容器
docker restart mysql
# 开启docker的开机自启
sudo systemctl enable docker
# 重启docker服务
sudo systemctl restart docker
#进入到容器内部
docker exec -it 容器id或名字 /bin/bash
先从官方镜像找到MySQL
直接:
# 下载最新版
docker pull mysql
# 下载指定版本
docker pull mysql:5.7
下载好后,使用 docker images 检查是否下载成功
启动MySQL容器:(复制一块执行)
# -p 3306:3306 将容器的3306端口映射到主机的3306端口
# -name 表示给这个容器取个名
# -v 这一堆,目录挂载
# -e 启动容器的时候给MySQL设置一些参数,比如调整root账户的密码
# -d 以后台方式运行 后面跟是用哪个镜像启动的容器
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 \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
然后查看已启动的容器:docker ps
然后就可以去连接MySQL
这里即安装成功。
更多知识 :查看具体容器MySQL 退出指令:exit
启动语句解读
后面几个 -v 是将容器内部的几个常用的文件夹,映射到Linux中。类似快捷方式
比如第二行,在容器内部产生的日志 /var/log/mysql 映射到Linux中的 /mydata/mysql/log
接下来设置MySQL的配置文件:
进入到虚拟机中的 mydata/mysql/conf 目录 输入 vi my.cnf 然后修改为以下内容:
然后重启容器:
docker restart mysql
至此 配置文件修改结束
下载redis镜像:
docker pull redis
创建预先文件:
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
启动redis
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
这个时候,redis是没有做持久化的,都存储在内存当中,也就是说重启redis再连进来,上次存的值没有了
持久化操作:
( vi redis.conf 然后输入i 进入编辑模式,输入完 :wq 保存退出 )
然后 插入一段话:
然后重启:docker restart redis 即可开启