标签: container

如何在后台模式下将 bash 或 ssh 放入正在运行的容器中?

我想通过 ssh 或 bash 进入正在运行的 docker 容器。请看例子:

$ sudo docker run -d webserver
webserver is clean image from ubuntu:14.04
$ sudo docker ps
CONTAINER ID  IMAGE            COMMAND    CREATED STATUS  PORTS          NAMES
665b4a1e17b6  webserver:latest /bin/bash  ...     ...     22/tcp, 80/tcp loving_heisenberg 
Run Code Online (Sandbox Code Playgroud)

现在我想得到这样的东西(进入正在运行的容器):

$ sudo docker run -t -i webserver(或者也许665b4a1e17b6相反)
$ root@665b4a1e17b6:/#

但是,当我运行上面的行时,我得到了新的 CONTAINER ID:

$ root@42f1e37bd0e5:/#
Run Code Online (Sandbox Code Playgroud)

我使用了 Vagrant,我想获得与vagrant ssh.

ssh bash container docker

969
推荐指数
8
解决办法
197万
查看次数

Docker 和 Snap 之间的主要区别是什么?

在最近的 c't(可悲的是付费墙)中有一篇关于 Snap 和 Flatpak 的文章。

在此处输入图片说明

这听起来与 Docker 非常相似,很多概念是相同的。现在我的问题是 Snap 和 Docker 之间有什么区别?这些是不同的用例吗?

container ubuntu-core docker snap

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

找不到单元 docker.service

是否需要连接接口?或者这可能是防火墙问题?

thufir@dur:~$ sudo snap install docker
docker 17.06.1-ce from 'docker-inc' installed
thufir@dur:~$ sudo service docker start
Failed to start docker.service: Unit docker.service not found.
thufir@dur:~$ sudo systemctl status docker
Unit docker.service could not be found.
thufir@dur:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.10
Release:    17.10
Codename:   artful
thufir@dur:~$ snap list
Name         Version     Rev   Developer   Notes
core         16-2.29.3   3440  canonical   core
docker       17.06.1-ce  171   docker-inc  -
hello-world  6.3         27    canonical   - …
Run Code Online (Sandbox Code Playgroud)

server command-line container docker snap

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

在 Ubuntu 22.04 中安装 Podman 4 的推荐方法是什么?

Ubuntu 22.04 的存储库中仅包含Podman 3.4.4 ,并且最新 Podman 的前 PPA 已在 22.04 中停止使用

Ubuntu 22.04 LTS 中的 Kubic 软件包已停止使用。强烈建议 Ubuntu Kubic 存储库的当前用户在升级到 Ubuntu 22.04 LTS 之前从 Kubic 存储库卸载软件包。

因此,我很想知道如何以合理的方式在 Ubuntu 22.04 上安装当前的 Podman 版本,从而无需手动检查和安装二进制文件即可获取更新。

container software-installation 22.04 podman

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

内核如何支持交换限制?

当我在内核为 3.8.0-19-generic 的 ubuntu 13.04 上运行 docker info 命令时

我收到警告

no swap limit support
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

码头工人信息

Containers: 10
Images: 37    
Driver: aufs    
Root Dir: /var/lib/docker/aufs
Dirs: 59

WARNING: No swap limit support
Run Code Online (Sandbox Code Playgroud)

kernel container

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

如何防止系统被“最小化”

今天,当我登录 Ubuntu 18.04 docker 容器时,我注意到一条新消息。

通过删除用户不登录的系统上不需要的软件包和内容,该系统已被最小化。

要恢复此内容,您可以运行“取消最小化”命令。

然而,这是我不时登录的容器。

恕我直言,以这种方式在未经用户同意的情况下更改系统并不是一个非常明智的策略,但是暂时将其放在一边,我如何防止 Ubuntu 最小化我的系统?

最小化破坏了我的容器的功能,并且unminimize命令以内核错误结束。

container docker 18.04

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

为什么内核版本与 Docker 容器中的 Ubuntu 版本不匹配?

我有一个从 Ubuntu 14.10 构建的 Docker 容器。当我登录到容器检查 Ubuntu 版本和内核版本时,我看到以下内容:

root@~$>> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.10
Release:    14.10
Codename:   utopic   

root@~$>> uname -a
    Linux ambiata-aws 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

我认为Ubuntu的14.10应该是内核版本3.16(为说明这里),所以为什么我的内核版本3.13.0-24泛型?

我问的原因是因为我想要在 3.13.0-29-generic 中有一个补丁(即,在我的 docker 容器中使用 fallocate 处理 AUFS),这在这里讨论。

kernel container docker

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

docker.io : 取决于: containerd (>= 1.2.6-0ubuntu1~)

我在 Ubuntu 20.04 中安装 docker 时遇到问题。

wolf@linux:~$ sudo apt install docker.io
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 docker.io : Depends: containerd …
Run Code Online (Sandbox Code Playgroud)

container docker 20.04

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

如何将文件作为 dockerfile 的参数传递

实际上,我不确定这是否可以完成,但我知道总有一个 hack ,所以我对你们专家对此的看法充满热情。

我想在构建我的 docker 镜像时传递一个包作为参数,以便我可以使用相同的 dockerfile 部署不同的应用程序版本。

这是我想要实现的示例:
在构建图像时将包作为参数传递的能力(我知道语法是错误的,这只是一个示例)

 docker build -t myapp/myapp:v1 . package_myapp_v1.tar  
Run Code Online (Sandbox Code Playgroud)

然后使用ADDin 将Dockerfile其提取到容器中。

ADD passed_package ./ 
Run Code Online (Sandbox Code Playgroud)

因此,如果我想为我的应用程序的 v2 构建一个映像,我只需在docker build命令中指定新包,而无需更改Dockerfile.

任何人都知道让它工作的技巧是什么?

谢谢 :)

command-line container docker

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

如何将 snap docker 从非活动状态切换为活动状态?

为什么容易切换dockerinactiveactiveAWS上:

ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo snap services
Snap    Service  Startup  Current
docker  dockerd  enabled  active
ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo snap stop docker
Stopped.
ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo snap services
Snap    Service  Startup  Current
docker  dockerd  enabled  inactive
ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo snap start docker
Started.
ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo snap services
Snap    Service  Startup  Current
docker  dockerd  enabled  active
ubuntu@ip-172-31-14-19:~$ 
Run Code Online (Sandbox Code Playgroud)

但在我的家庭系统上它仍然显示为inactive尽管使用 sudo

thufir@dur:~$ 
thufir@dur:~$ sudo snap services
Snap    Service  Startup  Current
docker  dockerd  enabled  inactive …
Run Code Online (Sandbox Code Playgroud)

server container services docker snap

8
推荐指数
0
解决办法
1179
查看次数