【Docker】CentOS 8.2 安装Docker教程

目录

1.卸载

2.安装依赖

3.设置yum源

4.安装Docker

5.启动Docker

6.设置Docker开机自启

7.验证Docker是否安装成功

8.配置多个国内镜像地址

9.重启Docker

10.Docker指令大全

10.1.启动与关闭Docker

10.2.Docker镜像操作

10.3.Docker容器操作

[10.4.Docker Compose操作](#10.4.Docker Compose操作)

11.其他


1.卸载

如果您已经安装了旧版本的 Docker,请使用以下命令卸载它

bash 复制代码
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

2.安装依赖

在安装 Docker 之前,我们需要安装一些必要的软件包和依赖项。在终端中执行以下命令:

bash 复制代码
yum install -y yum-utils device-mapper-persistent-data lvm2
  • -y:这是一个选项,表示在安装过程中自动回答 "是" 以确认安装,默认情况下,yum 会询问您是否要安装。
  • yum-utils:这是一个 yum 插件包,提供了一些额外的功能,用于更好地管理和维护 yum 的软件包。
  • device-mapper-persistent-data:这是一个设备映射持久化数据软件包,它提供了设备映射的持久化和恢复功能。
  • lvm2:这是逻辑卷管理器(LVM)的软件包,它允许您在 Linux 系统上创建、管理和扩展逻辑卷

页面响应:

3.设置yum源

bash 复制代码
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

页面响应:

如果出现下载缓慢,或者如下图的报错,可以切换成国内的镜像源,如阿里云

bash 复制代码
#阿里云镜像
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

页面响应:

4.安装Docker

bash 复制代码
sudo yum install -y docker-ce docker-ce-cli containerd.io

页面响应:

5.启动Docker

bash 复制代码
sudo yum install -y docker-ce docker-ce-cli containerd.io

页面响应:

6.设置Docker开机自启

bash 复制代码
sudo systemctl enable docker

页面响应:

7.验证Docker是否安装成功

bash 复制代码
docker --version

#或者 docker -v

页面响应:

自此Docker已经安装完成,下面是一些其他便捷操作。

8.配置多个国内镜像地址

为了加快 pull 镜像下载速度,我们可以配置 Docker 的国内镜像地址

bash 复制代码
#创建或修改etc目录下docker文件夹里的daemon.json文件
vim /etc/docker/daemon.json

如果文件不存在,则会自动创建一个新文件。将以下内容复制到文件中

bash 复制代码
{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.nju.edu.cn"
  ]
}  

9.重启Docker

上面操作后需重启Docker才能生效。

bash 复制代码
systemctl restart docker

使用命令查看是否成功配置

bash 复制代码
docker info

页面响应:

10.Docker指令大全

基础指令

10.1.启动与关闭Docker

bash 复制代码
# 启动Docker
systemctl start docker

# 关闭Docker
systemctl stop docker

# 重启Docker
systemctl restart docker

# 设置Docker随系统启动
systemctl enable docker

# 查看Docker运行状态
systemctl status docker
这些命令用于启动、停止和重启Docker服务,并设置Docker随系统启动。

10.2.Docker镜像操作

bash 复制代码
# 拉取镜像
docker pull 镜像名:tag

# 查看本地镜像列表
docker images

# 删除镜像
docker rmi 镜像名/镜像ID

# 保存镜像到文件
docker save 镜像名/镜像ID -o 保存路径

# 从文件加载镜像
docker load -i 文件路径

10.3.Docker容器操作

bash 复制代码
# 运行一个容器
docker run -it -d --name 容器名 镜像名:tag

# 查看所有容器
docker ps -a

# 停止容器
docker stop 容器ID/容器名

# 重启容器
docker restart 容器ID/容器名

# 删除容器
docker rm 容器ID/容器名

# 进入容器
docker exec -it 容器ID/容器名 /bin/bash

# 查看容器日志
docker logs -f --tail 100 容器ID/容器名

10.4.Docker Compose操作

bash 复制代码
# 启动所有服务
docker-compose up

# 启动所有服务并后台运行
docker-compose up -d

# 停止并删除所有服务
docker-compose down

# 查看服务日志
docker-compose logs 服务名

# 重启服务
docker-compose restart 服务名

10.5.常用

复制代码
## 查看本地镜像
docker images
 
## 查看运行中的镜像
docker ps 
 
## 查看所有镜像,包括未运行的
docker ps -a
 
## 启动某个镜像
docker start mysql
 
## 关闭某个镜像
docker stop mysql
 
## 重启某个镜像
docker restart mysql
 
## 强制关闭运行中的容器
docker kill -s KILL mysql
 
## 进入某个容器内部 (如 : mysql)
docker exec -it mysql /bin/bash
  • 镜像相关
    • docker images:列出本地所有镜像。
    • docker image ls:与上面相同,列出本地镜像。
    • docker pull <image>:从Docker Hub拉取镜像。
    • docker push <image>:将镜像推送到仓库。
    • docker build -t <name> .:通过当前目录下的Dockerfile构建镜像,并打上标签。
    • docker rmi <image_id>:删除指定镜像。
    • docker history <image>:显示镜像的历史记录。
  • 容器相关命令
    • docker ps:列出所有正在运行的容器。
    • docker ps -a:列出所有容器(包括停止的)。
    • docker run [OPTIONS] IMAGE [COMMAND] [ARG...]:创建并启动一个容器。常用选项如 -d(后台运行),-p(端口映射),--name(命名容器)等。
    • docker start <container>:启动一个已存在的容器。
    • docker stop <container>:停止一个或多个运行中的容器。
    • docker restart <container>:重启容器。
    • docker rm <container>:移除一个或多个容器。
    • docker exec -it <container> /bin/bash:在运行中的容器里执行命令,常用于进入容器内部进行交互。
  • 日志与交互
    • docker logs <container>:获取容器的日志。
    • docker inspect <object>:返回关于Docker对象(如容器、镜像、卷等)的底层信息。
  • 网络相关命令
    • docker network ls:列出所有网络。
    • docker network create <network_name>:创建一个新的网络。
    • docker network connect <network_name> <container>:将容器连接到网络。
    • docker network disconnect <network_name> <container>:断开容器与网络的连接。
  • 卷管理
    • docker volume ls:列出所有数据卷。
    • docker volume create <volume_name>:创建一个新的数据卷。
    • docker volume rm <volume_name>:移除一个或多个数据卷。
  • 其他命令
    • docker system df:展示Docker磁盘使用情况。
    • docker system prune:清理未使用的数据(包括停止的容器、未被使用的网络、悬挂的镜像等)。

每个命令都有很多可用的选项和标志,可以通过在命令后添加 --help 来获取更多详细信息

11.其他

如需永久修改主机名称可以输入一下操作,输入后修改所需名称。

复制代码
sudo nano /etc/hostname


#临时修改命令,重启后失效 hostname newName
  • 完成所需修改后,按下 Ctrl + O 来告知nano您想要保存更改。屏幕上会提示你确认保存。

  • 按下回车键确认保存。如果你修改了文件名(在这种情况下通常不需要),请确保路径和文件名正确无误。

  • 接下来,按下 Ctrl + X 以退出nano编辑器

相关推荐
---学无止境---5 分钟前
Linux中slab缓存初始化kmem_cache_init函数和定时回收函数的实现
linux
草莓熊Lotso10 分钟前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
Cx330❀11 分钟前
《Linux进阶指令实操指南》:文件查看、时间管理、搜索压缩全覆盖(附高频案例)
linux·运维·服务器
努力努力再努力wz31 分钟前
【C++进阶系列】:万字详解unordered_set和unordered_map,带你手搓一个哈希表!(附模拟实现unordered_set和unordered_map的源码)
java·linux·开发语言·数据结构·数据库·c++·散列表
Small___ming41 分钟前
【Linux基础学习】Linux Ubuntu 权限管理:从入门到精通
linux·学习·ubuntu
喵叔哟43 分钟前
63.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--预算告警
运维·微服务·.net
tan77º1 小时前
【项目】基于多设计模式下的同步&异步日志系统 - 项目介绍与前置知识
linux·c++·设计模式
Akshsjsjenjd1 小时前
Docker资源限制详解
运维·docker·容器
yalipf1 小时前
忘记密码更改ubuntu18.08的密码--前提是要知道用户名work
linux·运维·ubuntu
怀旧,2 小时前
【Linux系统编程】3. Linux基本指令(下)
linux·开发语言·c++