docker随笔

一、安装步骤

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 查看容器详细信息
相关推荐
陈陈CHENCHEN2 小时前
【Kubernetes】Kubeadm 搭建生产级 K8s 高可用集群
云原生·容器·kubernetes
杰克逊的日记3 小时前
K8s+GPU+大模型运维主要技术点
运维·容器·kubernetes
一个向上的运维者5 小时前
Docker 自定义网络中容器无法通过宿主机 IP 访问服务的完整排障记录
网络·tcp/ip·docker
ClouGence5 小时前
CloudDM 3.1.0 发布:初始化、驱动管理与升级体验全面优化
docker·开源·数据库管理·企业开发·数据库工具·数据库运维
PascalMing5 小时前
K8s集群安装部署完整指南(Ubuntu24.04+K8s1.28)
云原生·容器·kubernetes
IT策士5 小时前
第 34 篇 k8s之存储基础:emptyDir 与 hostPath
云原生·容器·kubernetes
zandy10116 小时前
Hermes Agent 安装与配置全流程(2026年6月最新版)
docker·agent·安装教程·kimi
取经蜗牛6 小时前
Docker 常用命令全面总结
运维·docker·容器
翔云1234566 小时前
Kubernetes 与 Docker Compose:异同详解
docker