Docker安装

一、Docker 运行环境要求

  • CentOS 7 系统:需为 64 位,系统内核版本 ≥ 3.10。
  • CentOS 6.5 及以上版本:需为 64 位,系统内核版本 ≥ 2.6.32-431。

二、Docker 安装步骤

  1. 安装依赖包

执行以下命令安装 Docker 所需依赖包,适配存储驱动和软件源管理:

yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 更换 Docker 下载源为国内地址

配置阿里云 Docker 源,提升下载速度,避免官方源网络波动问题:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装 Docker

通过 yum 命令安装 Docker CE(社区版,免费且满足日常使用需求):

yum install -y docker-ce
  1. 启动/关闭 Docker 服务
  • 启动 Docker 服务:systemctl start docker
  • 关闭 Docker 服务:systemctl stop docker
  • 设置 Docker 开机自启(推荐):systemctl enable docker
  • 重启 Docker 服务:systemctl restart docker

三、Docker 常用命令

3.1 基础命令

功能描述 命令 说明
搜索镜像 docker search {imageName} {imageName} 为镜像名称,如 mysql
拉取镜像 docker pull {imageName}[:{imageTag}] [:{imageTag}] 可选,指定镜像版本,默认 latest
查看本地镜像 docker images 展示所有已拉取的本地镜像
删除镜像 docker rmi {imageId} {imageId} 为镜像 ID,可通过 docker images 查看
运行容器 docker run {imageId} 结合参数使用,详见 3.2 运行参数
查看运行中容器 docker ps 仅展示当前活跃的容器
查看所有历史容器 docker ps -a 包含运行中、已停止的所有容器
查看容器日志 docker logs [-f] {containerId} -f 可选,实时跟踪日志输出
进入容器 docker exec -it {containerId} /bin/bash 交互式进入容器终端,/bin/bash 为终端类型
拷贝文件 docker cp {localPath} {containerId}:{containerPath} 本地文件拷贝至容器内,反向拷贝可交换路径顺序
容器启停/重启 docker start/stop/restart {containerId} 操作已存在的容器
移除容器 docker rm {containerId} 容器必须处于停止状态才能移除
容器资源监控 docker stats {容器id} 实时查看容器 CPU、内存、网络等资源占用

3.2 docker run 常用运行参数

参数 功能说明
--name 指定容器名称,便于后续操作识别
-d 后台运行镜像,不占用当前终端
-p 将容器内端口映射到宿主机端口,格式:宿主机端口:容器端口
-v 文件/目录映射,将宿主机目录挂载到容器内,实现数据持久化
--privileged 以 root 账号运行容器,解决部分容器权限不足问题

四、Docker 容器间通信

宿主机外访问容器应用,通过「宿主机 IP + 宿主机映射端口」实现;宿主机内容器间通信,需创建独立通信网络,确保容器间可通过网络别名互访。

4.1 新建网络

创建桥接模式网络(常用网络模式),命令格式:

docker network create -d bridge {网络名称}

说明:-d bridge 指定网络模式为桥接,{网络名称} 自定义,如 docker-net。

4.2 连接容器

运行容器时将其加入已创建的网络,同时设置网络别名,命令格式:

docker run -d --network {加入的网络名称} --network-alias {本容器的网络别名} {镜像名称}

参数说明:

  • --network:指定容器要加入的公共网络名称。
  • --network-alias:设置容器在该网络中的别名,其他容器可通过该别名替代 IP 访问当前容器。

示例(运行 mysql 容器并加入网络):

docker run -d --name mysql5.7 --network docker-net --network-alias mysql -p 3306:3306 mysql:5.7
posted @ 2026-01-26 15:43  向闲而过  阅读(2)  评论(0)    收藏  举报