有没有办法使用 docker 桌面在 wsl2 内运行的 docker 容器中使用网络模式“主机”?
我尝试使用网络模式“主机”在 wsl2 内部署 docker 容器,但无法在 Windows 内访问此端口。
我知道这是 docker 桌面的限制,但是 wsl2 仍然如此吗?是否有任何解决方法可以启用此功能?
我在 wls2 中使用带有 build 2004 的 Windows 10 Pro 和 ubuntu 20 LTS
Rider有关于如何通过 SSH 调试远程应用程序的文档,当我调试在 WSL2 上运行的应用程序时,它完美地工作。但它不适用于调试在 WSL2 内的 docker 容器中运行的应用程序。Rider 甚至在“运行”->“附加到远程进程”菜单中显示此应用程序,但无法附加到它(没有错误,但不附加)。
我可能需要在运行应用程序的 Docker 容器内运行 JetBrains SSH Server Utility 并共享端口,但我不知道如何正确执行。
编辑:为了清楚起见,我添加了一张我想要得到的结果的图表。
非常感谢任何帮助。谢谢。
我最近更新了我的 Docker 环境以WSL 2
在 Windows上运行。
为了在以前的版本中设置容器的内存分配限制,我在 Docker 桌面 GUI 下Settings->Resources->Advanced->Preferences
可以选择调整内存和 CPU 分配。
我想我应该从现在开始通过我的 Linux 发行版运行所有内容,所以这是我能够找到的解决方案:
docker run -d -p 8081:80 --memory="256m" container_name
Run Code Online (Sandbox Code Playgroud)
我不想每次在运行容器时都设置一个标志。有没有办法永久设置内存分配?
在GitHub 上 共享了一个解决方法sudo hwclock -s
来重新同步 WSL 中的时钟,但是每次从睡眠/休眠状态恢复时都必须执行此操作。
clock windows-task-scheduler windows-subsystem-for-linux wsl-2
我想增加为 WSL 分配的 RAM。我已经在我的 root /users/.wslconfig 中创建了。看起来怎么样:
[wsl2]
memory=6GB
swap=0
localhostForwarding=true
Run Code Online (Sandbox Code Playgroud)
我这样做了wsl --shutdown
,然后启动 WSL 来应用更改。但我不知道如何检查分配的 RAM 是否已更改。我该如何检查?
在开发 Symfony Web 应用程序期间从我的本地计算机访问 localhost。
#!/bin/sh
REMOTEIP=`cat /etc/resolv.conf | grep nameserver | sed 's/nameserver\s//'`
sed -i -E "s/client_host=[0-9\.]+/client_host=$REMOTEIP/g" /etc/php/7.4/mods-available/xdebug.ini
service php7.4-fpm start
service apache2 start
service mysql start
Run Code Online (Sandbox Code Playgroud)
symfony serve -d
使用(Symfony 然后告诉我“Web 服务器正在使用 PHP FPM 7.4.23 https://127.0.0.1:8000”)在开发服务器上运行我的 Symfony 项目我正在尝试让 WSL2 为我的 Web 项目开发工作,这让我发疯了!
基本上,我有两个选择。1. 将我的项目文件保存到 c 驱动器并使用 WSL 访问那些文件(这使得响应非常慢) 2. 将我的项目文件保存到 /home/ 这使项目运行非常流畅,但我无法编辑这些文件VS代码。
错误如下:
Failed to save 'DefaultSeeder.php': Unable to write file 'vscode-remote://wsl+ubuntu-20.04/home/lucas/Projetos/API/src/database/seeds/DefaultSeeder.php' (NoPermissions (FileSystemError): Error: EACCES: permission denied, open '/home/lucas/Projetos/API/src/database/seeds/DefaultSeeder.php')
Run Code Online (Sandbox Code Playgroud) laravel docker visual-studio-code windows-subsystem-for-linux wsl-2
TL;DR:无法使用 WSL 中的现有 Poetry 环境在 PyCharm (Windows) 上配置 Python 解释器。当尝试在 下设置 Poetry 环境路径时Add Python Interpreter > Poetry Environment > Existing Environment
,所需的 Python 可执行文件根本不显示。我究竟做错了什么?
=================================================== ==
详细信息:
我在 Windows 11 上使用 PyCharm Pro 2021.3,Python 在 WSL2 (Ubuntu 20.04) 上运行。我正在尝试为我在 WSL2 上创建的现有 Poetry 环境添加一个 python 解释器,但它似乎不起作用。
PyCharm 目前对 Poetry 的支持是通过采用这个插件。根据我从插件的官方文档中收集到的信息,为了使用现有的 Poetry 环境定义解释器,我转到Python Interpreter > Add > Poetry Environment
,选择Existing environment
,然后输入该特定环境的路径:
为了找到该环境的路径,我运行“ poetry env info ”,它给出了以下模式的路径:
\\wsl$\Ubuntu-20.04\home\$USER$\.cache\pypoetry\virtualenvs\my-pretty-project-<some-hash>-py3.8\
在环境中运行时which python
,我看到 …
我想通过 PyCharm 连接到在 WSL2 中运行的 Docker TCP 套接字。我似乎无法公开套接字,我想可能是因为 WSL2 (systemctl) 中对 docker-daemon 的控制有限?我无法使用 Docker Desktop,因为我需要 GPU 支持(Windows Dev Channel + nvidia-docker)。我尝试过以下方法:
$ export DOCKER_HOST=tcp://0.0.0.0:2375
$ sudo service docker restart
$ docker context ls
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST based configuration tcp://0.0.0.0:2375 swarm
Warning: DOCKER_HOST environment variable overrides the active context. To use a context, either set the global --context flag, or unset DOCKER_HOST environment variable.
$ curl --unix-socket /var/run/docker.sock http:/localhost/version
{"Platform":{"Name":"Docker Engine …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Windows 计算机上构建 docker 映像,但不断收到此错误:
[+] Building 2.1s (12/15)
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 538B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 35B 0.0s
=> [internal] load metadata for docker.io/library/node:alpine 1.0s
=> [ 1/11] FROM docker.io/library/node:alpine@sha256:6b56197d33a56cd45d1d1214292b8851fa1b91b2ccc678cee7e5fd4260bd8fae 0.0s
=> [internal] load build context 1.0s
=> => transferring context: 15.72kB 1.0s
=> CACHED [ 2/11] WORKDIR /app 0.0s
=> CACHED [ 3/11] COPY package.json . 0.0s
=> CACHED [ 4/11] COPY tsconfig.json …
Run Code Online (Sandbox Code Playgroud)