debian10安装docker

使用root登录

将已安装的软件包更新到最新版本:

apt update
apt upgrade

  1. 安装通过 HTTPS 添加新存储库所需的依赖项:

    apt install apt-transport-https ca-certificates curl software-properties-common gnupg2

使用以下 curl 命令导入存储库的 GPG 密钥:

root@debiantest1:~# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

OK

root@debiantest1:~# 

键入以下内容,将 Docker APT 存储库添加到系统的软件存储库列表中:

root@debiantest1:~# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

root@debiantest1:~#

接下来,使用新添加的repo中的Docker包更新包数据库:

apt update

确保您要从Docker repo而不是默认的Debian repo安装:

root@debiantest1:~# apt-cache policy docker-ce

docker-ce:

  Installed: (none)

  Candidate: 5:19.03.4~3-0~debian-buster

  Version table:

     5:19.03.4~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:19.03.3~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:19.03.2~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:19.03.1~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:19.03.0~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.9~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.8~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.7~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.6~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.5~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.4~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.3~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.2~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.1~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     5:18.09.0~3-0~debian-buster 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     18.06.3~ce~3-0~debian 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     18.06.2~ce~3-0~debian 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     18.06.1~ce~3-0~debian 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     18.06.0~ce~3-0~debian 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     18.03.1~ce-0~debian 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     18.03.0~ce-0~debian 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     17.12.1~ce-0~debian 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

     17.12.0~ce-0~debian 500

        500 https://download.docker.com/linux/debian buster/stable amd64 Packages

root@debiantest1:~#

?

现在已启用 Docker 存储库,更新 apt 软件包列表并安装最新版本的 Docker CE (Community Edition):

apt install docker-ce
  1. 安装完成后, Docker 服务将自动启动。您可以输入以下命令进行验证:

    systemctl status docker

  1. 查看 Docker 版本:

    root@debiantest1:~# docker -v

    Docker version 19.03.4, build 9013bf583a

    root@debiantest1:~#

如果要列出所有可用的命令,请不带参数运行 docker :

docker

如果您需要关于 [subcommand] 的更多帮助信息,可以使用如下所示的 --help 开关:

docker [subcommand] --help

第4步 - 使用Docker镜像

Docker容器是从Docker镜像构建的。默认情况下,Docker从Docker Hub中获取这些映像,Docker Hub是由Docker管理的Docker注册表,Docker项目背后的公司。任何人都可以在Docker Hub上托管他们的Docker镜像,因此您需要的大多数应用程序和Linux发行版都将在那里托管图像。

要检查您是否可以从Docker Hub访问和下载图像,请键入:

docker run hello-world

输出将指示Docker正常工作:

Docker最初无法在本地找到hello-world图像,因此它从Docker Hub下载了图像,Docker Hub是默认存储库。下载映像后,Docker从映像创建了一个容器,并在容器中执行了应用程序,显示了该消息。再次运行就比较快了。

要查看已下载到计算机的图像,请键入:

docker images

第6步 - 管理Docker容器

使用Docker一段时间后,您的计算机上将有许多活动(运行)和非活动容器。要查看活动的,请使用:

--查看活动的容器

docker ps

您将看到类似于以下内容的输出:

在本教程中,您启动了两个容器; 一个来自hello-world图像,另一个来自ubuntu图像。两个容器都不再运行,但它们仍然存在于您的系统上。

要查看所有容器 - 活动和非活动,请 使用-a开关运行docker ps:

--查看所有的容器,包含活动和非活动的

docker ps -a

您将看到类似于此的输出:

要查看您创建的最新容器,请将其传递给-l交换机:

--查看最新的容器

docker ps -l

要启动已停止的容器,请使用docker start,后跟容器ID或容器名称。让我们启动基于Ubuntu的容器,其ID为 d9b100f2f636:

--启动d9b100f2f636容器

docker start d9b100f2f636

容器将启动,您可以使用docker ps来查看其状态:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d9b100f2f636 ubuntu “/bin/bash” About an hour ago Up 8 seconds sharp_volhard

要停止正在运行的容器,请使用docker stop,后跟容器ID或名称。这次,我们将使用Docker分配容器的名称,即sharp_volhard:

--停止sharp_volhard容器

docker stop sharp_volhard

一旦您决定不再需要容器,请使用该docker rm命令将其删除,再次使用容器ID或名称。使用该docker ps -a命令查找与hello-world映像关联的容器的容器ID或名称,然后将其删除。

docker rm festive_williams

您可以使用–name开关启动一个新容器并为其命名。您还可以使用该–rm开关创建一个在停止时自行删除的容器。有关这些选项和其他选项的更多信息,请参阅该docker run help命令。

容器可以转换为可用于构建新容器的映像。让我们来看看它是如何工作的。

让我们使用Ubuntu的最新图像运行一个容器。-i和-t开关的组合为您提供了对容器的交互式shell访问:

docker run -it ubuntu

步骤7 - 将容器中的更改提交到Docker镜像

当您启动Docker镜像时,您可以像使用虚拟机一样创建,修改和删除文件。您所做的更改仅适用于该容器。您可以启动和停止它,但是一旦使用该docker rm命令销毁它,更改将永久丢失。

本节介绍如何将容器的状态保存为新的Docker镜像。

在Ubuntu容器中安装Node.js后,您现在有一个运行图像的容器,但容器与您用来创建它的图像不同。但是您可能希望稍后重新使用此Node.js容器作为新映像的基础。

然后使用以下命令将更改提交到新的Docker镜像实例。

docker commit -m “What you did to the image” -a “Author Name” container_id repository/new_image_name

该-m开关是提交信息,可以帮助你和其他人知道你所做的修改,而-a用于指定作者。当您启动交互式Docker会话时,container_id是您在本教程前面提到的那个。除非您在Docker Hub上创建了其他存储库,否则repository通常是您的Docker Hub用户名。

例如,对于用户sammy,使用容器ID d9b100f2f636,命令将是:

docker commit -m “added Node.js” -a “sammy” d9b100f2f636 sammy/ubuntu-nodejs

当你提交的图像,新的图像在您的计算机上本地保存。在本教程的后面,您将学习如何将映像推送到Docker Hub之类的Docker注册表,以便其他人可以访问它。

再次列出Docker图像将显示新图像以及从中派生的旧图像:

docker images

你会看到这样的输出:

REPOSITORY TAG IMAGE ID CREATED SIZE sammy/ubuntu-nodejs latest 7c1f35226ca6 7 seconds ago 179MB ubuntu latest 113a43faa138 4 weeks ago 81.2MB hello-world latest e38bc07ac18e 2 months ago 1.85kB

在此示例中,ubuntu-nodejs是新图像,它是从Docker Hub 的现有ubuntu图像派生的。尺寸差异反映了所做的变化。在此示例中,更改是NodeJS已安装。因此,下次需要使用预先安装了NodeJS的Ubuntu运行容器时,您可以使用新映像。

您还可以从Dockerfile构建映像,这样可以在新映像中自动安装软件。但是,这超出了本教程的范围。

现在让我们与他人分享新图像,以便他们可以从中创建容器。

遇到的问题

在下载images时遇到以下错误

root@debiantest1:~# docker pull ubuntu

Using default tag: latest

Error response from daemon: Get https://registry-1.docker.io/v2/library/ubuntu/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fubuntu%3Apull&service=registry.docker.io: net/http: TLS handshake timeout

然后尝试使用

docker pull registry.docker-cn.com/library/ubuntu

仍然失败

root@debiantest1:/etc/docker# docker pull registry.docker-cn.com/library/ubuntu

Using default tag: latest

Error response from daemon: Get https://registry.docker-cn.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

最后

首先打开配置文件daemon.json,centos上安装后有此文件,但是ubuntu上需要自己创建文件:

nano /etc/docker/daemon.json

在文件中加入:

{

    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]

}

然后重启守护进程:

sudo systemctl daemon-reload

sudo systemctl restart docker

此时重新下载就可以了。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值