相关疑难解决方法(0)

从docker容器连接到localhost上的Mysql

我在我的localhost上运行mysql我可以通过运行来连接它:

mysql -h 127.0.0.1 -P 3306 -u root -p
Run Code Online (Sandbox Code Playgroud)

我还用命令运行了docker container:

docker run -tid -v $(pwd):/code -p 3306:3306 -p 5000:5000 --name container container
Run Code Online (Sandbox Code Playgroud)

我想从docker容器访问我的Mysql数据库.所以我也从docker容器中输入:

mysql -h 127.0.0.1 -P 3306 -u root -p
Run Code Online (Sandbox Code Playgroud)

但它给了我错误:

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?端口似乎是正确的. 编辑1ifconfig泊坞窗 输出:

eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:02  
          inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1780 errors:0 dropped:0 overruns:0 frame:0
          TX packets:977 errors:0 dropped:0 overruns:0 carrier:0 …
Run Code Online (Sandbox Code Playgroud)

mysql docker

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

在 laravel 帆 docker Windows PhpStorm 上运行 Xdebug

因此,经过数小时的谷歌搜索,没有找到正确的答案。我已经开始使用 Docker 和 Laravel 的风帆为 Windows 安装 Laravel 8.x 教程。

现在我想使用 Xdebug 并且完全不知道该怎么做。

在项目的根目录中有一个 docker-compose.yml (这是默认值)

# For more information: https://laravel.com/docs/sail
version: '3'
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.0
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.0/app
        ports:
            - '${APP_PORT:-80}:80'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            PHP_IDE_CONFIG: 'serverName=localhost'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
            - redis
            # - selenium
    # selenium:
    #     image: 'selenium/standalone-chrome'
    #     volumes:
    #         - '/dev/shm:/dev/shm'
    #     networks:
    #         - sail
    #     depends_on:
    #         - laravel.test
    mysql: …
Run Code Online (Sandbox Code Playgroud)

phpstorm laravel docker

13
推荐指数
4
解决办法
6073
查看次数

host.docker.internal 主机上正在运行什么?

我只是好奇,host.docker.internal 主机上正在运行什么?

该服务将包从 docker 容器路由到主机网络上的服务。

但它到底是什么?

我发现这不是网关。

networking docker

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

使用Docker桥接网络时,无法在集成测试中获取JDBC连接

当我在maven test本地运行时通过.但是当我在CI服务器上运行它时出现此错误.

Error Message
Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection
Stacktrace
org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection
Caused by: org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 
Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Caused by: java.net.UnknownHostException: mysql …
Run Code Online (Sandbox Code Playgroud)

java mysql spring jenkins docker

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

卷曲:(7)无法连接到本地主机端口10001:连接被拒绝DOCKER

我用以下命令启动我的 docker 容器:

docker run -it --expose 10001 --expose 8080 -p 10001:10001 -p 8080:8080 -p 80:80 --rm lucchi/covid90/100e
Run Code Online (Sandbox Code Playgroud)

我的 docker -ps 然后有:

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                  PORTS                                                                  NAMES    
1521e0c3d947        lucchi/covid90/100e   "/bin/sh -c /bin/bash"   2 seconds ago       Up Less than a second   0.0.0.0:80->80/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:10001->10001/tcp   funny_panini
Run Code Online (Sandbox Code Playgroud)

但我无法从容器内部连接到本地主机。我试过:

curl 0.0.0.0:8080 
curl 127.0.0.1:8080
curl https://localhost:8080
Run Code Online (Sandbox Code Playgroud)

但继续得到

curl: (7) Failed to connect to localhost port 8080: Connection refused
Run Code Online (Sandbox Code Playgroud)

我读到的大多数 asnwers 都是关于在运行命令中添加 -p 的,我不明白我错过了什么。

curl docker

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

如何从 Docker 容器内猛拉到托管剪贴板?

我在 docker 容器中安装了 Vim。

我想猛拉一些文本并以某种方式神奇地使其在我的主机 (macOS) 剪贴板上可用。

这甚至可能吗?

更新

所以澄清一下,这是我的完整用例......

  • docker run ... 一些带有 Vim 的容器烘焙到图像中
  • 默认的 CMD 会让我进入 bash shell
  • 我正在将一个应用程序目录从我的主机 (macOS) 安装到容器中
  • 从我运行 vim 的容器中,编写一些代码
  • 我想从 vim 中提取一些文本并将其包含在两者中:
    • docker 系统剪贴板(如果需要,我可以将其粘贴到容器外壳中)
    • 主机 (macOS) 系统剪贴板(因此我可以将其粘贴到其他主机程序中;TextEdit 或电子邮件等)

现在我不确定主机 (macOS) 必须使用 docker 生态系统提供的 VM 才能首先运行 docker(因为 macOS 不是基于 Linux 的系统,因此可以不能在没有中间虚拟机的情况下本地运行 docker 容器)。

所以我不确定将内容放入 docker 系统剪贴板的技巧是否会过滤回 VM 和实际(macOS)主机。

x11

我见过有人建议使用 X11 并将其套接字文件安装到 docker 容器中,然后使用 xclip(或 xsel)。我试过这个,但无法让 Vim 拉入适当的寄存器,以便 xclip 获取被拉出的内容。因此,随后我不确定我尝试设置和挂载 x11 是否有效:

  • brew install Caskroom/cask/xquartz
  • open -a XQuartz
  • 作为 docker run 的一部分 -v …

vim containers docker

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

如何将本地托管的MySQL数据库与docker容器连接起来

通过docker-compose.yml我能够运行该应用程序.现在我们要将应用程序移动到生产环境,但我们不想使用容器数据库.那么有什么方法可以将我的本地MySQL数据库与应用程序连接使用docker-compose?

我的docker-compose.yml看起来像:

version: '3'
services:
  web-app:
    build:
      context: .
      dockerfile: web-app/Dockerfile
    ports:
      - 8080:8080
    links:
      - app-db

  app-db:
    build:
      context: .
      dockerfile: app-db/Dockerfile

    environment:
    - MYSQL_ROOT_PASSWORD=password
    - MYSQL_DATABASE=Optimize
    ports:
      - 3306:3306
Run Code Online (Sandbox Code Playgroud)

而不是app-db部分我只想连接到我的本地托管mysql数据库.

mysql docker docker-compose

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

Windows上的Docker从dotnetcore应用程序连接到sql server

我使用asp.net核心构建了一个简单的api,它从sql server数据库返回一些数据.

它在VS和命令行中运行良好,但当我在我的Windows 10机器上构建并运行应用程序作为docker容器时,我调用api我一直收到此错误

System.Data.SqlClient.SqlException:连接超时已过期.在登录后阶段过去了超时时间.在等待服务器完成登录过程并响应时,连接可能已超时; 或者在尝试创建多个活动连接时可能会超时.尝试连接到此服务器所花费的时间是 - [Pre-Login] initialization = 425; 握手= 265; [登录]初始化= 5; 认证= 9; [登录后]完成= 14034; ---> System.ComponentModel.Win32Exception:未知错误258

我不太确定这告诉我什么,就好像它找不到sql server机器一样.我是否必须以1433某种方式在docker配置中或在我运行容器时暴露端口?

docker asp.net-core

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

(Kubernetes + Minikube)无法从本地注册表获取docker镜像

我在我的机器上设置了docker,还有minikube,里面有docker,所以我可能在不同的VM上运行了两个docker实例

我构建一个图像并标记它,然后将其推送到本地注册表,它成功推送,我也可以从注册表中拉出它也是当我运行curl得到标签列表我得到结果,这是我做的

1- docker build -t 127.0.0.1:5000/eliza/console:0.0.1 .
2- docker run -d -p 5000:5000 --name registry registry:2
3- docker tag a3703d02a199 127.0.0.1:5000/eliza/console:0.0.1
4- docker push 127.0.0.1:5000/eliza/console:0.0.1
5- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
Run Code Online (Sandbox Code Playgroud)

以上所有步骤都运行正常,没有任何问题.

我的问题是当我运行minikube并尝试在其中的本地注册表中访问此图像

所以,当我运行下一个命令

1- sudo minikube start --insecure-registry 127.0.0.1:5000
2- eval $(minikube docker-env)
3- minikube ssh
4- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
Run Code Online (Sandbox Code Playgroud)

在最后一步(第4点),它给了我下一条消息

curl:(7)无法连接到127.0.0.1端口5000:连接被拒绝

因此,我可以从我的机器访问图像注册表,但不能从minikube访问,当我在minikube上使用Kubernetes部署此图像时,我当然会遇到问题,并且由于无法连接到http://127.0.0.1:5000而导致部署失败

你能帮我配置minikube来查看我的本地注册表,这样我的问题就能解决,然后我可以成功地使用kubernetes将图像部署到minikube吗?

UPDATE

我正在使用这个yaml文件(我命名为ConsolePre.yaml)来使用kubernetes部署我的图像

apiVersion: v1
  kind: Service
  metadata:
    name: tripbru-console
    labels:
      app: tripbru-console
  spec:
    ports:
      - port: 9080
        targetPort: 9080
        nodePort: …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes docker-registry minikube

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

如何使用docker-compose从docker容器连接到localhost:9092而不使用docker bridge

我在端口9092 上运行本地计算机上的Kafka服务器.我正在使用docker -compose在docker 容器中运行服务,需要向kafka服务器发送消息.

我尝试使用'localhost'和IP在服务代码中编写我的生产者,但两者都不起作用.

任何人都可以帮我解决这个问题吗?

apache-kafka docker docker-compose

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