如何在ubuntu上安装docker

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ubuntu上安装docker相关的知识,希望对你有一定的参考价值。

安装Docker借助apt-get命令,安装Docker是件轻而易举的事。$sudoapt-getinstalldocker.io为了允许非根用户也可以运行Docker,将你自己添加到docker群组。下面这个命令会允许当前用户运行Docker,无需根用户权限。$sudousermod-a-Gdocker$USER退出,然后重新登录,以激活群组成员的变化。下一步,编辑Docker配置文件,以便更新Docker二进制代码的位置。$sudovi/etc/default/docker.ioDOCKER="/usr/bin/docker.io"重启Docker服务。$sudoservicedocker.iorestart管理Docker容器如果你想启动Ubuntu操作系统的一个新的Docker容器,首先需要获取UbuntuDocker映像文件。下面这个命令会通过网络下载Docker映像文件。$dockerpullubuntu你可以以一种交互模式来开启UbuntuDocker,如下所示。最后一个参数“/bin/bash”是一旦启动就将在容器里面执行的命令,这里是一个简单的bash外壳命令。$dockerrun-i-tubuntu/bin/bash上述命令会立即启动一个Ubuntu容器(这正是容器的魅力所在!),并为你提供容器里面的外壳提示符。这时候,你应该能够访问沙盒环境里面的标准的Ubuntu操作系统了。想退出Docker容器,在容器里面的提示符处键入“exit”。你可以启动不同形式的容器。比如,想启动Fedora容器,请执行下面这个命令:$docker.iorun-i-tfedora/bin/bash如果本地没有FedoraDocker映像文件,该命令就会首先自动下载映像文件,然后启动Docker。如果你想启动采用某个发行版版本的容器,也可以这么做。比如说,想启动Ubuntu13.04Docker,请执行下面这个命令:$docker.iorun-i-tubuntu:13.04/bin/bash容器网络Docker使用Linux网桥将容器彼此互联起来,并将它们连接到外部网络。安装了Docker后,你应该会看到默认情况下自动组建的docker0Linux网桥。你创建的每个容器都将连接到docker0网桥接口。自定义Linux网桥如果你想,也可以使用自定义Linux网桥将诸容器互联起来。为此,你可以建立一个自定义网桥,并对它进行配置,如下所示。你可以为该网桥分配一个单独的子网,并且从子网为Docker分配IP地址。我会使用10.0.0.0/24作为Docker子网。$sudoapt-getinstallbridge-utils$sudobrctladdbrbr0$sudoifconfigbr010.0.0.1netmask255.255.255.0想让Docker使用自定义网桥,将“-b=br0”添加到/etc/default/docker.io中的DOCKER_OPTS变量,然后重启Docker服务。$sudoservicedocker.iorestart至此,任何新的容器都会连接到br0,其IP地址会自动从10.0.0.0/24来分配。其他定制还有另外几种方法可以定制Docker的默认网络设置,主要是通过改动/etc/default/docker.io中的DOCKER_OPTS变量来实现。“-dns8.8.8.8-dns8.8.4.4”:指定容器使用的DNS服务器。“-icc=false”:让诸容器彼此隔离开来。故障排查1.运行docker.io命令时,你会遇到下面这个错误。dialunix/var/run/docker.sock:nosuchfileordirectory(没有此类文件或目录)出现这个错误,可能是由于Docker守护程序没在运行。检查Docker守护程序的状态,确保先启动它。$sudoservicedocker.iostatus$sudoservicedocker.iostart 参考技术A Docker 是 dotCloud 最近几个月刚宣布的开源引擎,旨在提供一种应用程序的自动化部署解决方案,简单的说就是,在 Linux 系统上迅速创建一个容器(类似虚拟机)并在容器上部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方便。因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法。更多的玩法还有大规模 web 应用、数据库部署、持续部署、集群、测试环境、面向服务的云计算、虚拟桌面 VDI 等等。注意:由于Docker需要在Linux Kernel 3.8及以上才可以很好的工作【本人在ubuntu12.04 lts 内核3.2也正常安装】,官方更是推荐Ubuntu系统,这里有两种选择:Ubuntu 12.04 LTS或最新的Ubuntu 13.10 而本文比较喜欢倾向LTS,幸好有办法解决Kernel版本问题。
1、更新Ubuntu内核
使用如下命令行更新内核至3.8.0-25
sudo apt-get install linux-image-3.8.0-25-generic
sudo apt-get install linux-headers-3.8.0-25-generic
完成后重启电脑,通过命令 “uname -r” 来查看内核是否成功更新。本回答被提问者采纳

如何在 Ubuntu 18 上安装较旧的 Docker 版本(18.06.2)?

【中文标题】如何在 Ubuntu 18 上安装较旧的 Docker 版本(18.06.2)?【英文标题】:How to install older Docker version (18.06.2) on Ubuntu 18? 【发布时间】:2020-02-29 05:28:49 【问题描述】:

我已经尝试安装 Kubernetes 好几天了,但它已经从 Docker 开始了。我似乎在 Ubuntu 上找不到合适的 Docker 版本。 由于 Kubernetes 推荐 Docker 18.06.2 版本,我首先按照 Kubernetes 上的步骤进行操作:Kubernetes installation

我在哪里得到这个错误:

E: Version '18.06.2~ce~3-0~ubuntu' for 'docker-ce' was not found

Docker 说通过这个命令列出可用的版本:

apt-cache madison docker-ce

这让我明白了:

root@vmi257369:~# apt-cache madison docker-ce
 docker-ce | 5:19.03.3~3-0~ubuntu-disco | https://download.docker.com/linux/ubuntu disco/stable amd64 Packages
 docker-ce | 5:19.03.2~3-0~ubuntu-disco | https://download.docker.com/linux/ubuntu disco/stable amd64 Packages
 docker-ce | 5:19.03.1~3-0~ubuntu-disco | https://download.docker.com/linux/ubuntu disco/stable amd64 Packages
 docker-ce | 5:19.03.0~3-0~ubuntu-disco | https://download.docker.com/linux/ubuntu disco/stable amd64 Packages

如您所见,没有 18.06,但只有 Kubernetes 不推荐的 19。

我已按照 Docker Docker installation 的此指南进行操作,但我似乎无法找到正确的 GPG 或 Docker 版本 18 所需的内容。

当然我也试过 *** 上的帖子see here,结果是:

root@vmi257369:~# export VERSION=18.06.1-ce && curl -sSL get.docker.com | sh
# Executing docker install script, commit: f45d7c11389849ff46a6b4d94e0dd1ffebca32c1
Warning: the "docker" command appears to already exist on this system.

If you already have Docker installed, this script can cause trouble, which is
why we're displaying this warning and provide the opportunity to cancel the
installation.

If you installed the current Docker package using this script and are using it
again to update Docker, you can safely ignore this message.

You may press Ctrl+C now to abort this script.
+ sleep 20
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu disco stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
INFO: Searching repository for VERSION '18.06.1-ce'
INFO: apt-cache madison 'docker-ce' | grep '18.06.1.*ce.*-0~ubuntu' | head -1 | awk '$1=$1;1' | cut -d' ' -f 3

ERROR: '18.06.1-ce' not found amongst apt-cache madison results

谁知道该怎么做?

回答时 通过这个命令

apt-add-repository "deb https://apt.dockerproject.org/repo ubuntu-$(lsb_release -cs) main"

我收到此错误: 无法获取 403 Forbidden on IP .... 它在 Contabo 服务器上,也许这就是原因?

【问题讨论】:

【参考方案1】:
sudo -i
curl -fsSL https://apt.dockerproject.org/gpg | apt-key add -
apt-add-repository "deb https://apt.dockerproject.org/repo ubuntu-$(lsb_release -cs) main"
apt-get update -y && apt-get install docker-ce=18.06.2~ce~3-0~ubuntu

sudo -i
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update -y && apt install -y docker-ce=18.06.3~ce~3-0~ubuntu docker-ce-cli=18.06.3~ce~3-0~ubuntu containerd.io

【讨论】:

我更新了答案。从这样的存储库进行更新不能安全地完成,因此默认禁用。有关存储库的创建,请参见 apt-secure(8) 手册页。 你有没有通过curl -fsSL https://apt.dockerproject.org/gpg | apt-key add -添加密钥? 不行,页面apt.dockerproject.org/gpg不存在

以上是关于如何在ubuntu上安装docker的主要内容,如果未能解决你的问题,请参考以下文章

Docker----起步----在Ubuntu上安装最新版的Docker CE

如何在 Docker 映像中打开 Ubuntu GUI

Ubuntu 安装docker

ubuntu docker 安装

Ubuntu Docker 安装

[Notes] Ubuntu安装nvidia-docker2