Linux搭建Docker环境的详细过程(最新推荐)

 更新时间:2025年04月18日 10:11:22   作者:代码怪兽大作战  
Docker从17.03版本之后分为CE(Community Edition: 社区版)和EE(Enterprise Edition: 企业版),相对于社区版本,企业版本强调安全性,但需付费使用,这里我们使用社区版本即可,这篇文章给大家介绍Linux搭建Docker环境的详细过程,感兴趣的朋友一起看看吧

Docker及系统版本

Docker从17.03版本之后分为CE(Community Edition: 社区版)和EE(Enterprise Edition: 企业版)。相对于社区版本,企业版本强调安全性,但需付费使用。这里我们使用社区版本即可。

Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux内核版本不低于3.10。

查看Linux版本的命令这里推荐两种:lsb_release -acat /etc/redhat-release

lsb_release -a查看效果:

[ ~]$ lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.6.1810 (Core)
Release:	7.6.1810
Codename:	Core

cat /etc/redhat-release查看版本效果:

[~]$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

显然,当前Linux系统为CentOS7。再查一下内核版本是否不低于3.10。

查看内核版本有三种方式:

  • cat /proc/version
  • uname -a
  • uname -r

三种形式都可以查看到内容版本,比如:

[ ~]$ uname -r
3.10.0-1160.45.1.el7.x86_64

可以看到,当前Linux内核版本满足Docker的需要。

Docker的自动化安装

Docker官方和国内daocloud都提供了一键安装的脚本,使得Docker的安装更加便捷。

官方的一键安装方式:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

国内 daocloud一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

执行上述任一条命令,耐心等待即可完成Docker的安装。

安装完之后,修改docker镜像源——修改docker配置文件 /etc/docker/daemon.json :

{
  "registry-mirrors": [
        "https://docker.1panel.live",
        "https://docker.m.daocloud.io",
        "https://docker.cloudlayer.icu"
  ]
}

清华大学源:
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

阿里云镜像源:
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

网易源:
http://mirrors.163.com/docker-ce/linux/centos/docker-ce.repo

修改完后,重启Docker服务:systemctl restart docke

Docker手动安装

手动安装Docker分三步:卸载、设置仓库、安装。

卸载Docker(可选)
第一步,卸载历史版本。
这一步是可选的,如果之前安装过旧版本的Docker,可以使用如下命令进行卸载:

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

设置源仓库
第二步,设置仓库。
新主机上首次安装Docker Engine-Community之前,需要设置Docker仓库。此后可从仓库安装和更新Docker。

在设置仓库之前,需先按照所需的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

执行上述命令,安装完毕即可进行仓库的设置。使用官方源地址设置命令如下:

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

通常,官方的源地址比较慢,可将上述的源地址替换为国内比较快的地址:

清华大学源:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
阿里源:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

仓库设置完毕,即可进行Docker的安装。

Docker安装

执行一下命令,安装最新版本的 Docker Engine-Community 和 containerd。

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

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。但安装完成之后的默认是未启动的,需要进行启动操作。

如果不需要docker-ce-cli或containerd.io可直接执行如下命令:

yum install -y docker-ce

至此,完成Docker安装。

Docker启动
启动Docker的命令:

sudo systemctl start docker

启用 Docker 服务,使其在系统启动时自动启动:

sudo systemctl enable docker

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

// 拉取镜像
sudo docker pull hello-world
// 执行hello-world
sudo docker run hello-world

如果执行之后,控制台显示如下信息,则说明Docker安装和启动成功:

[root@iZ8vb8pfb2awsz4qy7vm7qZ ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.

除了启动Docker,一些其他启动相关的命令:

守护进程重启:systemctl daemon-reload
重启Docker服务:systemctl restart docker / service docker restart
关闭Docker服务:docker service docker stop / docker systemctl stop docker

删除Docker

删除安装包:

yum remove docker-ce

删除镜像、容器、配置文件等内容:

rm -rf /var/lib/docker

Docker其他常见命令

安装完成Docker之后,这里汇总列一下常见的Docker操作命令:

镜像操作

搜索仓库镜像:

docker search 镜像名

拉取镜像:

docker pull 镜像名

查看镜像:

docker images

删除镜像:

docker rmi image_id

清除所有 <none> 标签的镜像:

docker rmi $(docker images -f "dangling=true" -q)

容器操作

查看正在运行的容器:

docker ps

查看所有容器:

docker ps -a

删除容器:

docker rm container_id

启动(停止的)容器:

docker start 容器ID

停止容器:

docker stop 容器ID

重启容器:

docker restart 容器ID

启动新容器(示例:启动一个 Ubuntu 容器并进入 bash):

docker run -it ubuntu /bin/bash

进入容器:

docker attach 容器ID

docker exec -it 容器ID /bin/sh

系统清理

删除未使用的镜像、停止的容器、未使用的网络和构建缓存(包括 <none> 标签镜像):

docker system prune -a

除了执行 docker system prune -a 的所有操作外,还会删除未使用的卷:

docker system prune -a --volumes

到此这篇关于Linux搭建Docker环境的文章就介绍到这了,更多相关Linux Docker环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker容器下配置jupyter notebook的操作

    docker容器下配置jupyter notebook的操作

    这篇文章主要介绍了docker容器下配置jupyter notebook的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker compose快速开始超详细教程

    docker compose快速开始超详细教程

    docker-compose是基于docker的开源项目,托管于github上,由python实现,调用 docker服务的API负责实现对docker容器集群的快速编排,即通过一个单独的yaml文件,来定义一组相关的容器来为一个项目服务,本文给大家介绍docker compose快速开始,感兴趣的朋友一起看看吧
    2022-05-05
  • CentOS 7.5下 安装Docker 教程 详解

    CentOS 7.5下 安装Docker 教程 详解

    这篇文章主要介绍了CentOS 7.5下 安装Docker 教程 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Google和Facebook不使用Docker的原理解析

    Google和Facebook不使用Docker的原理解析

    这篇文章主要介绍了Google和Facebook不使用Docker的原理解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • 如何解决docker认证问题failed to authorize:failed to fetch oauth token

    如何解决docker认证问题failed to authorize:failed to&n

    这篇文章主要介绍了在使用Docker构建镜像时遇到的认证问题,并提供了两种解决方案:全局代理设置和禁用BuildKit,文章还指出了一个Dockerfile中的语法错误,并提供了修正建议
    2025-03-03
  • Docker Overlay2磁盘空间占用过大清理的方法实现

    Docker Overlay2磁盘空间占用过大清理的方法实现

    随着业务量的不断增大,容器的不断启动,往往会出现磁盘空间不足,本文主要介绍了Docker Overlay2磁盘空间占用过大清理的方法实现,感兴趣的可以了解一下
    2022-03-03
  • docker使用alpine构建jdk21镜像的详细步骤

    docker使用alpine构建jdk21镜像的详细步骤

    这篇文章主要给大家介绍了关于docker使用alpine构建jdk21镜像的详细步骤,镜像中包含了应用程序所需要的运行环境,函数库,配置,以及应用本身等各种文件,这些文件分层打包而成,需要的朋友可以参考下
    2024-03-03
  • docker运行jar包加载外部配置文件方式

    docker运行jar包加载外部配置文件方式

    这篇文章主要介绍了docker运行jar包加载外部配置文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • SpringBoot打包成Docker镜像的项目实践

    SpringBoot打包成Docker镜像的项目实践

    Spring Boot和Docker,可以方便地将应用程序部署到不同的环境中,本文主要介绍了SpringBoot打包成Docker镜像的项目实践,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Docker部署Laravel应用实现队列&任务调度

    Docker部署Laravel应用实现队列&任务调度

    这篇文章主要介绍了Docker部署Laravel应用实现队列&任务调度,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09

最新评论