Docker安装Ubuntu
1. 介绍Docker
Docker是一种开源的容器化平台,可以帮助开发人员和系统管理员快速构建、打包、部署和运行应用程序。使用Docker,可以将应用程序及其依赖打包成一个镜像,并在任何平台上运行这个镜像,而无需担心环境差异带来的问题。
Docker的核心概念有三个:镜像、容器和仓库。镜像是一个轻量级、自包含的应用程序打包文件,包含了运行应用程序所需的所有文件、库和环境变量。容器是镜像的一个运行实例,可以被启动、停止、重启和删除。仓库是用于存储和分享镜像的地方,可以是公共仓库,也可以是私有仓库。
在本文中,我们将详细介绍如何在Ubuntu操作系统上安装Docker。
2. 安装Docker
在Ubuntu上安装Docker非常简单,只需要几个简单的步骤。请按照以下步骤进行操作:
2.1 更新apt软件包索引
首先,我们需要更新apt软件包索引,以便获取最新的软件包信息。打开终端,执行以下命令:
sudo apt-get update
2.2 安装依赖包,以及允许apt通过HTTPS使用存储库
执行以下命令,安装依赖包和使用HTTPS传输的存储库所需的软件包:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
2.3 添加Docker官方GPG密钥
为了确保下载的软件包是来源可靠的,我们需要添加Docker官方的GPG密钥。执行以下命令:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
2.4 添加Docker存储库
现在,我们将添加Docker的官方存储库。执行以下命令将存储库添加到apt源列表中:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
2.5 更新apt软件包索引,安装Docker CE
我们再次更新apt软件包索引,并安装Docker CE(社区版)。执行以下命令:
sudo apt-get update
sudo apt-get install docker-ce
2.6 验证Docker安装
在安装完成后,我们可以验证Docker是否正确安装。执行以下命令,检查Docker版本信息:
docker --version
如果一切正常,将会输出Docker的版本号。
2.7 配置Docker用户访问权限(可选)
默认情况下,只有root用户和docker组用户才能访问Docker命令。如果您希望其他用户也能够使用Docker命令,可以将用户添加到docker用户组中。执行以下命令,将用户添加到docker用户组中:
sudo usermod -aG docker <用户名>
请将<用户名>
替换为您要添加到docker用户组的实际用户名。然后,您需要注销并重新登录才能使更改生效。
3. Docker基本操作
成功安装Docker后,我们可以开始使用它来构建和运行容器。以下是一些常用的Docker操作命令和示例:
3.1 拉取镜像
首先,我们可以从Docker Hub上拉取一个现有的镜像。例如,我们可以拉取Ubuntu 20.04镜像:
docker pull ubuntu:20.04
3.2 运行容器
拉取镜像后,我们可以使用镜像来运行一个容器。例如,我们可以创建一个基于Ubuntu 20.04镜像的交互式容器:
docker run -it ubuntu:20.04 bash
上述命令将创建一个新的容器,并打开一个交互式的终端会话。您可以在此会话中执行任何命令,并与容器进行交互。
3.3 列出容器
使用以下命令,可以列出正在运行的容器:
docker ps
3.4 停止容器
如果要停止一个正在运行的容器,可以使用以下命令:
docker stop <容器ID>
请将<容器ID>
替换为您要停止的容器的实际ID。
3.5 删除容器
如果要删除一个已停止的容器,可以使用以下命令:
docker rm <容器ID>
请将<容器ID>
替换为您要删除的容器的实际ID。
3.6 列出镜像
使用以下命令,可以列出已下载到本地的镜像:
docker images
3.7 删除镜像
如果要删除一个不再需要的镜像,可以使用以下命令:
docker rmi <镜像ID>
请将<镜像ID>
替换为您要删除的镜像的实际ID。
4. 总结
本文介绍了如何在Ubuntu操作系统上安装Docker,并提供了一些常用的Docker操作命令和示例。通过使用Docker,您可以更方便地构建、打包、部署和运行应用程序,提高开发和部署效率,同时减少环境配置的困扰。