一、安装步骤
1. 准备工作
安装依赖包,用于配置https仓库
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
配置国内镜像
sudo yum-config-manager --add-repo https://vsxcs7sq.mirror.aliyuncs.com
2. 安装docker引擎
安装最新版
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装指定版
① 查询可用版本
yum list docker-ce --showduplicates | sort -r
② 安装指定版本,VERSION_STRING替换为具体的版本号
sudo yum install -y docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
3. 启动,并设置开机自启
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 查看 Docker 运行状态(验证是否启动成功)
sudo systemctl status docker
4. 验证安装是否成功
运行下面的命令,如果能正常输出"Hello from Docker!"就表示安装成功!
docker run hello-world
5. 更换镜像源
# 创建配置目录(若不存在)
sudo mkdir -p /etc/docker
# 写入镜像源配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["你想要配置的镜像源"]
}
EOF
# 重启 Docker 使配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker
二、 安装常用工具
1. 安装redis
docker run -d \
--name redis \ # 容器命名为 redis,和你的 mysql 容器命名逻辑一致
-p 6370:6379 \ # 端口映射:主机 6380 端口 → 容器 6379(Redis 默认端口)
-e TZ=Asia/Shanghai \ # 设置时区为上海
-e REDIS_PASSWORD=123456 \ # 设置 Redis 密码(必填,否则无密码访问有风险)
redis:7 \ # 使用 redis:7 镜像
--requirepass 123456 # Redis 启动参数:强制要求密码认证(和上面的密码保持一致)
解读:
- docker run -d :创建并运行一个容器,-d则是让容器以后台进程运行
- --name redis: 给容器起个名字叫redis,名字随便取,不重复就行
- -p 6370:6379: 设置端口映射。
- 容器是隔离环境,外界访问不到。但是可以将宿主机端口映射到容器内的端口,当访问宿主机指定端口时,就是在访问容器内的端口了。
- 容器内端口往往是由容器内的进程决定,例如redis进程默认端口是6379,因此容器内端口一定是6379;而宿主机端口则可以任意指定,一般与容器内保持一致。
- 格式: -p 宿主机端口:容器内端口,示例中就是将宿主机的6370映射到容器内的6379端口
- -e TZ=Asia/Shanghai : 配置容器内进程运行时的一些参数
- 格式:-e KEY=VALUE,KEY和VALUE都由容器内进程决定
- 案例中,TZ=Asia/Shanghai是设置时区;REDIS_PASSWORD=123456是设置redis默认密码
- redis:7 : 设置镜像名称,Docker会根据这个名字搜索并下载镜像
- 格式:REPOSITORY:TAG,例如redis:7.0,其中REPOSITORY可以理解为镜像名,TAG是版本号
- 在未指定TAG的情况下,默认是最新版本,也就是redis:latest
#查看redis运行状态docker ps | grep redis
#进入redis容器(这是一条 Docker 命令,用于在运行中的redis容器里面执行 redis-cli)
docker exec -it redis redis-cli
#执行后输入密码认证(替换为你设置的密码)
127.0.0.1:6379> AUTH 123456
#返回 OK 表示认证成功,可正常使用
127.0.0.1:6379> SET test "hello redis"
127.0.0.1:6379> GET test # 应返回 "hello redis"
#windows连接redis
#格式:redis-cli -h 服务器IP -p 映射端口 -a 密码
redis-cli -h 192.168.100.128 -p 6380 -a 123456
2. 安装mysql
docker run -d \
--name zzzMySql \
-p 3301:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8
解读:
- docker run -d :创建并运行一个容器,-d则是让容器以后台进程运行
- --name zzzMySql : 给容器起个名字叫zzzMySql
- -p 3301:3306 : 设置端口映射。
- 容器是隔离环境,外界不可访问。但是可以将宿主机端口映射到容器内的端口,当访问宿主机指定端口时,就是在访问容器内的端口了。
- 容器内端口往往是由容器内的进程决定,例如MySQL进程默认端口是3306,因此容器内端口一定是3306;而宿主机端口则可以任意指定,一般与容器内保持一致。
- 格式: -p 宿主机端口:容器内端口,示例中就是将宿主机的3301映射到容器内的3306端口
- -e TZ=Asia/Shanghai : 配置容器内进程运行时的一些参数
- 格式:-e KEY=VALUE,KEY和VALUE都由容器内进程决定
- 案例中,TZ=Asia/Shanghai是设置时区;MYSQL_ROOT_PASSWORD=123456是设置MySQL默认密码
- mysql:8 : 设置镜像名称,Docker会根据这个名字搜索并下载镜像
- 格式:REPOSITORY:TAG,例如mysql:8.0,其中REPOSITORY可以理解为镜像名,TAG是版本号
- 在未指定TAG的情况下,默认是最新版本,也就是mysql:latest
三、常用命令
docker官方网址:https://docs.docker.com/reference/cli/docker/
| 命令 | 说明 | 示例 |
|---|---|---|
| docker pull | 拉取镜像 | docker pull nginx:1.23.4 |
| docker tag | 标记镜像 | docker tag local-image:latest your-registry.com/repo-name:tag |
| docker push | 推送镜像 | docker push your-registry.com/repo-name:tag |
| docker images | 查看本地镜像 | |
| docker rmi | 删除本地镜像 | 通过镜像 ID 删除(docker rmi a1b2c3d4),通过镜像名以及标签删除(docker rmi ubuntu:latest),强行删除正在使用的镜像(docker rmi -f a1b2c3d4),清理所有未使用的镜像(清理所有未使用的镜像) |
| docker run | 创建并运行容器(不能重复创建) | |
| docker stop | 停止指定容器 | |
| docker start | 启动指定容器 | |
| docker restart | 重新启动容器 | |
| docker rm | 删除指定容器 | |
| docker ps | 查看容器 | |
| docker logs | 查看容器运行日志 | |
| docker exec | 进入容器 | |
| docker save | 保存镜像到本地压缩文件 | |
| docker load | 加载本地压缩文件到镜像 | |
| docker inspect | 查看容器详细信息 |