相关疑难解决方法(0)

如何为屏幕指定名称?

screen在命令shell上使用多路复用器工具并打开很多屏幕.然后我忘记哪个进程ID与哪个任务相关联.

我想为屏幕设置名称,但在联机帮助页中找不到选项.

目前,列出屏幕如下所示:

There are screens on:
    5422.pts-1.aws1 (Detached)
    5448.pts-1.aws1 (Detached)
    5027.pts-1.aws1 (Detached)
3 Sockets in /var/run/screen/S-sb.
Run Code Online (Sandbox Code Playgroud)

我希望看到这样的事情:

There are screens on:
    5422.logCleanWorker (Detached)
    5448.overNightLongTask(Detached)
    5027.databaseOverNightLongTask (Detached)
3 Sockets in /var/run/screen/S-sb.
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

unix linux shell gnu-screen

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

docker 图像与 Windows 的 docker-desktop 一起存储在哪里?

我从https://www.docker.com/products/docker-desktop为 windows 10 安装了 docker-desktop ,并为 Linux 容器启用了 docker 守护进程。我有自己的 wsl2 发行版,名为 ubuntu,我启用了 docker-desktop 与发行版 ubuntu 的集成,并在其中构建了一个映像。但我无法弄清楚图像的保存位置。我做了一些搜索,发现有人说它在\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker. 我确实找到了这个文件夹,但整个文件夹只有几百 MB,而我的图像有几 GB。我只在文件夹中找到元数据,而不是真实图像。有人指出我可以在 docker 资源配置选项卡中找到图像路径,但我的没有显示 docker 图像在哪里...... 码头资源

有没有人在类似情况下找到图像?

更新 在文件夹中创建的卷:\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\version-pack-data\community\docker\volumes

docker windows-subsystem-for-linux docker-desktop

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

Docker - 在java应用程序中获取绑定端口

我正在创建一个像我的图像的实例

docker run -P webmodule-xy
Run Code Online (Sandbox Code Playgroud)

webmodule的Dockerfile公开了一个端口(例如8080).

我现在的目标是获取可通过Java从外部访问的映射/分配端口号.是否有环境变量或类似的东西?

用例:webmodule-xy应该在另一个Web应用程序上注册并提供其IP +端口,以便其他应用程序可以在以后联系webmodule-xy.IP没问题,但端口是.

我已经在GitHub上找到了这个未解决的问题,但我无法相信没有简单的解决方案.就像那里所说,REST不是一个选项:

允许容器访问REST API是有问题的.首先,REST API是可读/写的,如果你需要的只是阅读你的portmappings,那么授予容器只是为了找到几个端口是一种危险的权限级别.

java environment-variables docker

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

如何在Docker中使用容器的内部ip地址作为环境变量

我正在尝试将docker容器的IP地址作为容器中的环境变量.这是我尝试过的:

启动容器时

docker run -dPi -e ip=`hostname -i` myDockerImage
Run Code Online (Sandbox Code Playgroud)

当容器已经启动时

docker exec -it myDockerImage bash -c "export ip=`hostname -i`"
Run Code Online (Sandbox Code Playgroud)

这两种方法的问题在于它使用运行命令的主机的ip地址,而不是运行它的docker容器.

那么我在docker容器中创建了一个如下所示的脚本:

#!/bin/bash
export ip=`hostname -i`
echo $ip
Run Code Online (Sandbox Code Playgroud)

然后运行它

docker exec -it myDockerImage bash -c ". ipVariableScript.sh"
Run Code Online (Sandbox Code Playgroud)

当我添加my_cmd(在我的情况下是bash脚本的末尾)时,它可以在一个bash会话中工作.我以后不能在我需要它的文件中使用它.我需要将它设置为环境变量,而不是作为一个会话的变量.

所以我已经用'.'来源了它.但是当我在容器中时,它仍然不会回响.如果我$ip在脚本中放入一个echo ,它会给我正确的IP地址.但只能在正在设置的脚本中使用.

linux docker

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

使用Docker更新Container的环境变量

我已经设置了一个带有多个docker容器的服务器,可以通过jwilders nginx reversre proxy访问.运行容器时,可以设置VIRTUAL_HOST环境变量.我一直试图找出一种在容器启动后更新这些内容的方法.

这里发布的解决方案:

您只需停止docker守护程序并更改容器配置

/var/lib/docker/containers/[container-id]/config.json

需要你停止docker守护进程,但我宁愿不必诉诸于此.

另一个在这里,使用docker commit来保存实例信息:

话虽如此,您可以通过将其作为新图像提交来保存容器中的文件系统更改;

$ docker run -it --name=foobar alpine sh
$ docker commit foobar mynewimage
$ docker rm foobar
$ docker run -it --name=foobar mynewimage sh
Run Code Online (Sandbox Code Playgroud)

虽然这对于改变环境变量似乎也有点过头了.

我查看了docker update,但这主要是为了重新配置容器资源.

当然,如果我没有其他选择,我将使用上述任何一种方法,但我想知道是否有人找到了其他解决方案?

environment-variables docker

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