标签: docker-ce

找到计算docker镜像大小的源代码

我听说这个数字不等于图像内所有大小的图层相加。而且它也不是它占用的磁盘空间的大小。

现在我想通过源代码检查逻辑(在这个 repo: https://github.com/docker/docker-ce),因为眼见为实!但是在代码中导航了很多时间后,我发现我无法找到真正的imag-size-computing代码。

那么docker使用哪个函数/文件来执行大小逻辑呢?

go docker docker-ce

8
推荐指数
1
解决办法
230
查看次数

如何在没有互联网和内网 yum 存储库的情况下安装 docker-ce?

我从官网下载了RPM包,但是安装的时候还是需要下载一些依赖。我需要在没有任何网络或存储库的情况下安装 docker-ce,所以我需要我依赖的所有 RPM 包以及它们的安装顺序。

Docker-CE 版本:18.03+

installation centos rpm docker docker-ce

5
推荐指数
2
解决办法
2万
查看次数

Docker安装问题:无法挂载overlay:没有这样的设备storage-driver=overlay2

我正在尝试在 Ubuntu 20.04.3 LTS 上安装 docker。我从 *.deb 包安装。安装docker的时候,出现如下错误。

Failed to mount overlay: no such device storage-driver=overlay2
Run Code Online (Sandbox Code Playgroud)

我创建

{
  "storage-driver": "overlay2"
}
Run Code Online (Sandbox Code Playgroud)

根据https://docs.docker.com/storage/storagedriver/overlayfs-driver/但这也没有帮助。

编辑1:

lsmod | grep overlay返回空。

sudo modprobe overlay' returns fatal error. In fact, there are no module files under /lib/modules/' 用于内核的“uname -a”版本。

filesystems ubuntu overlay docker docker-ce

5
推荐指数
1
解决办法
6677
查看次数

Ubuntu 18.04-来自守护程序的错误响应:获取https://registry-1.docker.io/v2/:proxyconnect tcp:tls:接收到长度为20527的超大记录

我在使用docker-ce的 Ubuntu 18.04上遇到Docker问题。拉动容器时:

$ docker pull nginx
Run Code Online (Sandbox Code Playgroud)

或尝试登录时

$ docker login
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

来自守护程序的错误响应:获取https://registry-1.docker.io/v2/:proxyconnect tcp:tls:接收到长度超过20527的超大记录

我今天也清除并重新安装了最新版本,但没有帮助。有人解决吗?

docker ubuntu-18.04 docker-ce

4
推荐指数
1
解决办法
7326
查看次数

在 CentOS 7 上将 Docker 从 19.03.2 降级到 18.09.9

我一直在尝试在 CentOS 7 上将 docker 从 19.03.2 降级到 18.09.9。我通过 yum 安装了它。

\n\n

这是我到目前为止所尝试过的。

\n\n

仅返回一个可用版本。

\n\n
$ yum list docker-ce.x86_64 --showduplicates | sort -r \n * updates: centos4.zswap.net\n Loading mirror speeds from cached hostfile\n Loaded plugins: fastestmirror\n Installed Packages\n * extras: mirrors.usinternet.com\n * epel: d2lzkl7pfhq30w.cloudfront.net\n docker-ce.x86_64   3:19.03.2-3.el7 .  @docker-ce-stable\n * base: centos4.zswap.net\n
Run Code Online (Sandbox Code Playgroud)\n\n

没有运气,呃!

\n\n
$ yum\xc2\xa0downgrade\xc2\xa0docker-ce.x86_64 3:18.09.9-3.el7\n
Run Code Online (Sandbox Code Playgroud)\n\n

尝试使用下载的 rpm 包降级。也没有运气。

\n\n
$ yum downgrade file docker-ce-cli-18.09.9-3.el7.x86_64.rpm\xc2\xa0\n$ yum downgrade file docker-ce-18.09.9-3.el7.x86_64.rpm\xc2\xa0\n
Run Code Online (Sandbox Code Playgroud)\n\n

最后,docker引擎命令运行成功,但是现在有两个不同的版本,API是相同的。

\n\n
$ docker engine update --version …
Run Code Online (Sandbox Code Playgroud)

docker docker-ce

4
推荐指数
1
解决办法
1万
查看次数

apt-get 错误:找不到“docker-ce”的版本“5:19.03.4~3-0~ubuntu-bionic”

文档 提供了安装特定版本的语法docker-ce

$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io


在类似的行上,下面dockerfile使用上面的语法:

FROM jenkins/jenkins:lts

ENV DEBIAN_FRONTEND=noninteractive

USER root

ARG DOCKER_GID=497

# Create Docker Group with GID
# Set default value of 497 if DOCKER_GID set to blank string by Docker compose
RUN groupadd -g ${DOCKER_GID:-497} docker

# Install base packages for docker, docker-compose & ansible
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AA8E81B4331F7F50 && \
RUN apt-get update -y && \
    apt-get -y install bc \
                    gawk \
                    libffi-dev …
Run Code Online (Sandbox Code Playgroud)

apt-get docker dockerfile ubuntu-18.04 docker-ce

4
推荐指数
1
解决办法
7603
查看次数

如何解决“apt-get install docker-ce”上的“Hash Sum Mismatch”?

我希望你们一切都好!

这是我关于堆栈溢出的第一个问题,所以如果我遗漏了什么,请告诉我,我很乐意更新我的问题。

因此,总结一下我的问题,我尝试按照Docker-Engine Installation 中的官方步骤在 Ubuntu 18.04 VM 上安装 Docker-ce,并且在运行命令“sudo apt-get”时出现错误“Hash Sum Mismatch”安装 docker-ce docker-ce-cli containerd.io”。

我经历了几次官方步骤,到目前为止我已经尝试了以下事情:

1)以下命令,后面是官方安装步骤

apt-get clean
rm -rf /var/lib/apt/lists/*
apt-get clean
apt-get update
apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

2)创建一个包含以下几行的文件,放置在“/etc/apt/apt.conf.d/99fixbadproxy”,接下来是官方安装步骤

Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy    true;
Run Code Online (Sandbox Code Playgroud)

3)使用以下命令安装其他版本的docker-ce

sudo apt-get install docker-ce 5:19.03.8~3-0~ubuntu-bionic
sudo apt-get install docker-ce 5:19.03.6~3-0~ubuntu-bionic
sudo apt-get install docker-ce 5:18.09.9~3-0~ubuntu-bionic
Run Code Online (Sandbox Code Playgroud)

4)我尝试通过在以下命令的“稳定”一词后添加“nightly”或“test”或两者来安装不同的存储库(我认为它们被称为存储库)

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Run Code Online (Sandbox Code Playgroud)

我认为差不多就是这样。我确实尝试过其他事情,但不幸的是我不记得它们了,因为我已经在这个问题上工作了很长时间了。

不过,我没有尝试全新安装的 Ubuntu 18.04。

如果我的问题中遗漏了任何内容,请告诉我!

大家保重!

docker ubuntu-18.04 docker-ce

4
推荐指数
1
解决办法
3360
查看次数

无法使用 docker-compose run -e 选项传递环境变量

我正在尝试使用以下命令从命令行获取变量:

 sudo docker-compose -f docker-compose-fooname.yml run -e BLABLA=hello someservicename
Run Code Online (Sandbox Code Playgroud)

我的文件如下所示:

version: '3'

services:
  someservicename:
    environment:
      - BLABLA
    image: docker.websitename.com/image-name:latest
    volumes:
      - /var/www/image-name
    command: ["npm", "run", BLABLA]
Run Code Online (Sandbox Code Playgroud)

所有这一切都是为了我可以运行由我在命令行中使用的 BLABLA 定义的脚本,我已经尝试使用官方文档

尝试了几种选择,包括:

sudo COMPOSE_OPTIONS="-e BLABLA=hello" docker-compose -f docker-compose-fooname.yml run someservicename
Run Code Online (Sandbox Code Playgroud)

更新:我不得不提的是,事实上,我总是得到:

WARNING: The FAKE_SERVER_MODE variable is not set. Defaulting to a blank string.
Run Code Online (Sandbox Code Playgroud)

即使我只是运行以下命令(无论是删除,停止..):

  sudo docker-compose -f docker-compose-fooname.yml stop someservicename
Run Code Online (Sandbox Code Playgroud)

郑重声明:我首先拉取映像,我从不构建它,但我的 CI/CD 工具会构建它(gitlab),这会影响它吗?

我正在使用 docker-compose 版本 1.18、docker 版本 18.06.1-ce、Ubuntu 16.04

docker docker-compose docker-ce

3
推荐指数
1
解决办法
1382
查看次数

更改默认的docker0网桥IP地址

在Ubuntu Server 16.04上启动docker-ce(18.06.1-ce,构建e68fc7a)之后,将创建以下内容:

$ ifconfig
docker0   Link encap:Ethernet  HWaddr 02:42:fe:36:81:72
          inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的PC在此网络上。这意味着,一旦docker启动,我将失去与服务器的ssh连接。

尝试1

几个论坛都说要添加以下内容/etc/docker/daemon.json

{
  "bip": "192.168.1.1/24"
}
Run Code Online (Sandbox Code Playgroud)

尝试2,使用此接受的答案

一种可行的解决方案正在运行:

sudo ip addr add dev docker0 192.168.1.1/24
sudo ip addr del dev docker0 172.17.0.1/16
Run Code Online (Sandbox Code Playgroud)

资料来源:forums.docker.com

尽管这是一个可能的解决方案,但我必须在docker服务启动后执行此操作。我无法执行某些操作,因为与此同时我失去了连接。

在@ Light.G 答案之后尝试3

添加-bipExecStart行后,尝试启动docker给出(journalctl -xe): …

docker-ce

1
推荐指数
2
解决办法
2790
查看次数

docker-ce : 取决于: containerd.io (&gt;= 1.4.1) 但它不会被安装

尝试在 Debian 10 (Buster) 上安装 Docker 时出现错误

The following packages have unmet dependencies:
 docker-ce : Depends: containerd.io (>= 1.4.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

debian docker containerd docker-ce

1
推荐指数
1
解决办法
3249
查看次数