编辑
2026-04-01
undefined
00

目录

Docker 安装
校验系统版本
卸载旧版本(可选)
安装依赖包
设置镜像仓库
更新 yum 软件包索引
安装 Docker-CE
启动 Docker
查看 Docker 版本
测试
查看本地镜像
Docker 卸载
阿里云镜像加速
常用命令
镜像命令
容器命令
新建容器并进入
退出容器
列出容器
删除容器
启动和停止容器
其他命令
安装 docker-compose
端口
查看端口
开放端口
防火墙

服务器环境:CentOS 7.9 64位

Docker 安装

校验系统版本

查看系统内核:

uname -r

查看系统版本:

cat /etc/os-release

Docker 要求系统为64位、Linux内核版本 3.10 以上。

卸载旧版本(可选)

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

安装依赖包

yum install -y yum-utils

设置镜像仓库

阿里云镜像源:

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

更新 yum 软件包索引

yum makecache fast

安装 Docker-CE

yum -y install docker-ce docker-ce-cli containerd.io

提示

当使用yum后用ctrl+z强制退出,再次yum install xxx会出现:Waiting for process with pid XXX to finish.

当使用ps命令时,却看不到对应的线程。这时可以通过下面的命令查询与yum有关的杀不死的进程:

ps -ef | grep yum

然后执行指令:

kill -9 XXX

注意输入的数字是第三列的,如果输第二列的还是杀不掉。

启动 Docker

systemctl start docker ## 停止 systemctl stop docker ## 重启 systemctl restart docker ## 设置开机启动 systemctl enable docker

查看 Docker 版本

docker version

测试

通过运行 hello-world 镜像来验证是否正确安装了Docker Engine-Community。

docker run hello-world

查看本地镜像

docker images

Docker 卸载

## 卸载依赖 yum remove docker-ce docker-ce-cli containerd.io ## 删除资源(docker的默认工作路径) rm -rf /var/lib/docker

阿里云镜像加速

mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://g71ab123.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker

常用命令

## 显示docker的系统信息 docker info ## 帮助命令 docker 命令 --help

镜像命令

## 下载镜像 docker pull 镜像名 ## 指定版本下载 docker pull mysql:5.7 ## 删除指定镜像 docker rmi -f 镜像id ## 删除多个镜像 docker rmi -f 镜像id 镜像id ## 删除全部镜像 docker rmi -f $(docker images -aq)

容器命令

有了镜像才能创建容器,这里下载一个 centos 镜像来测试学习。

docker pull centos

新建容器并进入

docker run -it centos /bin/bash

-it:使用交互式方式运行。

退出容器

## 停止并退出 exit

想要容器不停止退出,使用快捷键Ctrl + P + Q

列出容器

docker ps ## 列出当前正在运行的容器 + 历史运行过的容器 docker ps -a ## 显示最近创建的容器 docker ps -n=1 ## 只显示容器id docker ps -aq

删除容器

## 不能删除正在运行的容器,强制删除用 rm -f docker rm 容器id ## 删除所有容器 docker rm -f $(docker ps -aq)

启动和停止容器

docker start 容器id docker stop 容器id docker restart 容器id docker kill 容器id

其他命令

安装 docker-compose

curl -L https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose ## 添加执行权限 chmod +x /usr/local/bin/docker-compose ## 查看版本信息 docker-compose --version
  • -L/--location: 如果服务器报告请求的页面已移动到不同的位置,此选项将使curl在新的地方重做请求

-o/--output : 指定输出文件名称

端口

查看端口

## 查看防火墙打开的在公共区域中允许访问的端口列表 firewall-cmd --zone=public --list-ports

开放端口

## 查看防火墙状态 firewall-cmd --state ## 如果处于关闭状态 systemctl start firewalld.service ## 开启8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent ## 重启防火墙 systemctl restart firewalld.service ## 重新载入配置 firewall-cmd --reload
  • --zone=public:表示作用域为公共的
  • --add-port=8080/tcp:添加tcp协议的端口8080

--permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效

防火墙

## 关闭防火墙 systemctl stop firewalld.service ## 永久关闭防火墙 systemctl disable firewalld.service

本文作者:a

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!