Docker安装方法整理

本文详细介绍了Docker CE的安装、升级与卸载方法。包括安装准备时卸载旧版本,提供在线、离线、Raspbian便捷脚本三种安装方式,每种方式下又有安装、验证及升级步骤,最后说明了卸载Docker CE的操作,还给出了参考资料链接。

目录

安装准备:

卸载旧版本

较旧版本的Docker被称为dockerdocker-engine。如果已安装,请卸载它们:

sudo apt-get remove docker docker-engine docker.io

可以根据需要以不同方式安装Docker CE:

  • 在线安装:大多数用户设置Docker的存储库并从中进行安装,以便于安装和升级任务。除了Raspbian之外,这是推荐的方法。

  • 离线安装:有些用户下载DEB软件包并 手动安装并完全手动管理升级。这在诸如在没有访问互联网的气隙系统上安装Docker的情况下非常有用。

  • Raspbian方法:在测试和开发环境中,一些用户选择使用自动便捷脚本来安装Docker。

在线安装

安装环境:

系统:Debian 7.2.0-20       内核:4.15.0-21

其它系统请参照Docker安装文档

在新主机上首次安装Docker CE之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

设置存储库

1.更新apt包索引:

sudo apt-get update 

2.安装包以允许apt通过HTTPS使用存储库:

//Jessie or newer
$ sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common

//Wheezy or older
$ sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     python-software-properties

3.添加Docker的官方GPG密钥:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

通过搜索9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88最后8个字符,验证密钥 。

$ sudo apt-key fingerprint 0EBFCD88

pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22 

4.使用以下命令设置稳定存储库。

//x86_64 / amd64
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

//armhf
$ echo "deb [arch=armhf] https://download.docker.com/linux/debian \
     $(lsb_release -cs) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list

5.仅限Wheezy:Wheezy的版本add-apt-repository添加了一个deb-src 不存在的存储库。您需要注释掉此存储库或运行apt-get update失败。编辑/etc/apt/sources.list。找到如下所示的行,并将其注释掉或删除它:

deb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable

安装DOCKER CE

1.更新apt包索引。

$ sudo apt-get update

2.安装最新版本的Docker CE,或转到下一步安装特定版本:

$ sudo apt-get install docker-ce

安装特定版本的Docker CE,请列出repo中的可用版本,然后选择并安装:

$ apt-cache madison docker-ce

docker-ce | 18.03.0~ce-0~debian | https://download.docker.com/linux/debian jessie/stable amd64 Packages
$ sudo apt-get install docker-ce=<VERSION_STRING>

Docker守护程序自动启动。

验证安装是否成功

通过运行hello-world 映像验证是否正确安装了Docker CE 。

$ sudo docker run hello-world

升级DOCKER CE

要升级Docker CE,请先运行sudo apt-get update,然后按照 安装说明选择要安装的新版本。

离线安装

如果无法使用Docker的存储库来安装Docker CE,则可以下载对应发行版的.deb 文件并手动安装。每次要升级Docker时都需要下载新文件。

1.转到https://download.docker.com/linux/debian/dists/,选择您的Debian版本,浏览到pool/stable/,选择amd64或者armhf,然后下载.deb要安装的Docker CE版本的文件。

2.安装Docker CE,将下面的路径更改为您下载Docker软件包的路径。

$ sudo dpkg -i /path/to/package.deb

Docker守护程序自动启动。

3.通过运行hello-world 映像验证是否正确安装了Docker CE 。

$ sudo docker run hello-world

升级DOCKER CE

要升级Docker,请下载较新的软件包文件并重复安装过程,指向新文件。

Raspbian便捷脚本安装

Docker在get.docker.com 和test.docker.com上提供了便捷脚本,用于快速,非交互地将Docker CE的边缘和测试版本安装到开发环境中。

脚本的源代码位于 docker-install存储库中。 建议不要在生产环境中使用这些脚本,并且在使用它们之前应该了解潜在的风险:

  • 脚本需要rootsudo特权才能运行。因此,在运行脚本之前,应仔细检查和审核脚本。

  • 这些脚本会尝试检测您的Linux发行版和版本,并为您配置包管理系统。此外,脚本不允许您自定义任何安装参数。从Docker的角度或您自己组织的指导方针和标准来看,这可能会导致配置不受支持。

  • 脚本安装包管理器的所有依赖项和建议,而不要求确认。这可能会安装大量软件包,具体取决于主机的当前配置。

  • 该脚本不提供选项来指定要安装的Docker版本,并安装在“边缘”通道中发布的最新版本。

  • 如果已使用其他机制在主机上安装了Docker,请不要使用便捷脚本。

此示例使用get.docker.com上的脚本在Linux上安装最新版本的Docker CE。要安装最新的测试版本,请改用test.docker.com。在下面的每个命令中,替换每次出现的getwith test

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

<output truncated>

If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker your-user

Remember to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group grants the ability to run
         containers which can be used to obtain root privileges on the
         docker host.
         Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         for more information.

使用便捷脚本后升级DOCKER

如果使用便捷脚本安装了Docker,则应直接使用软件包管理器升级Docker。重新运行便捷脚本没有任何好处,如果它尝试重新添加已添加到主机的存储库,则可能会导致问题。

卸载Docker CE

1.卸载Docker CE软件包

$ sudo apt-get purge docker-ce

2.主机上的图像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

$ sudo rm -rf /var/lib/docker

必须手动删除任何已编辑的配置文件。

 

参考资料:

https://docs.docker.com/install/linux/docker-ce/debian/#uninstall-docker-ce

转载于:https://www.cnblogs.com/minglex/p/9555952.html

<think>好的,用户问的是如何在WSL2中安装、配置并运行Docker。我需要根据提供的引用内容来组织回答。首先,我得回忆一下用户给的三个引用内容。引用1提到有两种方法,一种是Docker Desktop for Windows搭配WSL2后端,另一种是直接在WSL2中安装Docker Engine。而用户的问题可能更倾向于直接安装Docker Engine,所以可能需要重点讲这个步骤。 接下来,引用2和3给出了一些具体的步骤,比如更新系统、安装依赖包,还有遇到docker命令未找到的情况需要安装docker.io。不过引用3中提到用户输入docker命令时提示需要安装docker.io,这可能说明在WSL2中直接安装Docker Engine需要使用docker.io包,而不是官方的Docker CE。这点需要注意,可能用户需要明确说明两种方法的区别。 用户的需求是安装配置并运行Docker,所以步骤应该包括准备环境、安装Docker、配置用户权限、启动服务、验证安装,以及可能提到的两种方法对比。另外,用户可能关心哪种方法更好,比如引用1提到的Docker官方推荐使用Docker Desktop,但直接安装Docker Engine有什么优势和注意事项也需要说明。 需要确保步骤清晰,比如先更新系统,安装必要工具,添加Docker仓库,安装docker-ce等。但根据引用3,可能在某些情况下需要安装docker.io而不是docker-ce,这可能是因为不同的Linux发行版仓库中的包名不同。比如Ubuntu中可能使用docker.io,而其他发行版可能不同。这点可能需要进一步确认,但根据引用3的提示,用户执行docker -v时提示安装docker.io,说明在Ubuntu中可能默认仓库中的Docker包是docker.io,而如果要安装最新版可能需要添加Docker的官方仓库。 所以可能需要分步骤,先更新系统,然后安装依赖,添加Docker的GPG密钥和仓库,再安装docker-ce。如果用户不想添加仓库,可以直接安装docker.io,但版本可能较旧。这时候需要根据用户的情况给出建议。 另外,配置用户权限部分需要将用户加入docker组,避免每次用sudo。这部分是常规操作,必须包含。 启动服务部分,使用systemctl命令,但WSL2可能默认没有systemd,可能需要其他方式启动服务,比如手动启动dockerd,或者配置systemd。这点需要特别注意,因为引用2和3中没有提到这一点。如果用户使用的是较新的WSL2版本,可能支持systemd,否则可能需要额外步骤。例如,在Ubuntu 22.04及以上版本中,可以通过修改wsl.conf启用systemd,然后重启WSL实例。否则,可能需要手动启动dockerd,或者使用service命令。 验证安装部分,运行docker run hello-world来测试,这是标准步骤。 另外,注意事项需要提到两种方法的对比,直接安装Docker Engine可能更轻量,但需要手动管理,而Docker Desktop集成更好,适合Windows用户。这样用户可以根据需求选择。 总结步骤应该是: 1. 准备环境:确保WSL2安装,系统更新。 2. 安装依赖包。 3. 添加Docker官方仓库(如果需要安装docker-ce)。 4. 安装Docker引擎(docker-ce或docker.io)。 5. 配置用户权限,将用户加入docker组。 6. 处理systemd的问题,启动Docker服务。 7. 验证安装。 8. 注意事项,两种方法对比。 需要检查引用中的信息是否有冲突,比如引用2提到Docker官方推荐使用Docker Desktop,但用户的问题是要在WSL2中直接安装,所以需要按用户需求来。同时引用3中用户执行docker命令时提示安装docker.io,可能说明在默认情况下,直接安装docker.io即可,但版本可能较旧,所以需要指导用户添加Docker仓库来安装最新版。 现在需要把这些步骤详细写出,确保命令正确,比如添加GPG密钥和仓库的步骤是否正确,适用于Ubuntu。同时,如果用户使用的是其他发行版,步骤可能不同,但假设用户使用的是Ubuntu,因为引用中的示例是Ubuntu。 另外,处理systemd的问题可能需要用户启用systemd支持,比如编辑/etc/wsl.conf文件,添加[boot] systemd=true,然后重启WSL。或者在启动时手动启动dockerd。这部分需要明确说明,因为如果用户没有启用systemd,systemctl start docker会失败,需要使用其他命令,比如service docker start,或者直接运行dockerd。 可能需要在步骤中说明如何启用systemd,或者在启动Docker服务时使用替代方法。例如,如果systemd不可用,可以使用: sudo service docker start 或者 sudo dockerd & 但这样可能不够持久,每次启动WSL都需要手动启动。因此推荐启用systemd,或者配置WSL在启动时自动启动Docker。 综上,整理步骤时需要注意这些细节,确保用户能够顺利启动Docker服务。</think>### 在WSL2中安装并配置Docker的步骤 #### 1. **准备环境** - 确保已启用WSL2并安装Linux发行版(如Ubuntu)。若未安装,需在PowerShell中执行: ```bash wsl --install -d Ubuntu ``` - 更新系统软件包: ```bash sudo apt update && sudo apt upgrade -y ``` #### 2. **安装必要依赖** ```bash sudo apt install -y apt-transport-https ca-certificates curl software-properties-common ``` #### 3. **添加Docker官方仓库** - 导入Docker的GPG密钥: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` - 添加仓库源: ```bash echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` #### 4. **安装Docker Engine** ```bash sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io ``` > **注意**:若仅需基础功能,可直接安装`docker.io`(版本可能较旧): > ```bash > sudo apt install -y docker.io > ``` #### 5. **配置用户权限** - 将当前用户加入`docker`组,避免每次使用`sudo`: ```bash sudo usermod -aG docker $USER ``` - 退出并重新登录WSL会话以生效。 #### 6. **启动Docker服务** - **若WSL支持systemd**(需Ubuntu 22.04+并启用systemd): 1. 编辑配置文件: ```bash sudo nano /etc/wsl.conf ``` 2. 添加以下内容后保存: ```ini [boot] systemd=true ``` 3. 重启WSL实例(在PowerShell中执行): ```powershell wsl --shutdown ``` 4. 启动服务: ```bash sudo systemctl start docker sudo systemctl enable docker ``` - **若无法使用systemd**,手动启动服务: ```bash sudo service docker start ``` #### 7. **验证安装** ```bash docker run hello-world ``` 若输出`Hello from Docker!`,则安装成功[^3]。 #### 8. **注意事项** - **直接安装Docker Engine的优势**:资源占用更少,适合熟悉Linux管理的用户[^1]。 - **Docker Desktop方案**:官方推荐,提供图形界面,与Windows深度集成,适合需要便捷操作的用户[^2]。 - WSL2中直接安装Docker需手动管理更新和服务启动。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值