小编Voj*_*ane的帖子

docker-compose访问主机上的端口

主机的IP是192.168.0.208.

docker-compose 文件如下:

version: '2'
 services:
   zl-tigervnc:
     image: zl/dl-tigervnc:1.5
     container_name: zl_dl_tigervnc
     restart: always
     tty: true
     ports:
       - "8001:8888"
       - "6001:6006"
       - "8901:5900"
       - "10001:22"
     devices:
       - /dev/nvidia0
     volumes:
       - ~/data:/root/data
       - /var/run/docker.sock:/var/run/docker.sock
     extra_hosts:
       - "dockerhost:192.168.0.208"
Run Code Online (Sandbox Code Playgroud)

此脚本启动了一个容器.容器想要访问8080主机上的端口(例如192.168.0.208:8080).但它不起作用.

但是,我使用端口转发将8080主机映射到8080路由器上.路由器的IP是63.25.20.83.容器可以8080通过端口转发(例如63.25.20.83:8080)访问主机.

我从https://github.com/docker/docker/issues/1143尝试了很多解决方案,但它仍然无效.

docker docker-compose

5
推荐指数
0
解决办法
2059
查看次数

Nette Forms验证 - 如何设置字段不是必需的?

我将文本输入添加到表单中并添加一些规则.这些输入不是必需的,但如果我不填写这些字段,我会收到验证错误.

例:

$this->addText('operationID', 'Operation ID:')
    ->setAttribute('class', 'tf tf-w110px')
    ->addRule(Nutnet_Form::INTEGER, 'Operation ID must be integer');
Run Code Online (Sandbox Code Playgroud)

如何正确设置规则,接受未填充的operationID字段,而不是给出Operation ID must be integer错误?

使用conditions帮助,但不舒服.

php forms validation nette

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

Go:关于多个作业的混淆

我对Go中的多个赋值感到有点困惑,例如varA, varB = varC, varD.

我的问题是,这样的操作是原子的(当然不是在HW层,而是从程序员的角度来看)?

就个人而言,我希望它是原子的,所以这个表达式a, b = b, a只是交换值.我在Go游乐场尝试过它,是的,它就像那样.

另一方面,Golang规范指出:

转让分两个阶段进行.首先,左边的索引表达式和指针间接(包括选择器中的隐式指针间接)的操作数和右边的表达式都按照通常的顺序进行评估.其次,分配按从左到右的顺序进行.

我理解为a已分配b的值,然后b被赋予a的值(现在是b),所以最后,两者ab等于b的原始值.

规格是错误的还是我误解了?

go

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

从本地开发服务器连接到谷歌云sql

我刚刚开始使用谷歌应用程序引擎。我正在用 php 开发一个应用程序。如果我想看到结果,我使用了

dev_appserver.py ./ --php_executable_path /usr/bin/php5-cgi

(对我来说,如果没有 --php_executable_path 参数,它就无法工作)
它工作正常,但我无法连接到云 sql 实例。我阅读了此https://cloud.google.com/appengine/docs/php/cloud-sql并尝试通过以下方式连接到云 sql:

$sql = 新的 mysqli(null,
  'root', // 用户名
  '', // 密码
  ,
  无效的,
  '/cloudsql/:'
  );

如果我将某些内容部署到 appengine,这是可行的,但是如果我需要在本地调试应用程序并且它取决于数据库,我应该做什么?

google-app-engine google-cloud-sql

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

Go 中的类型转换结构是空操作吗?

考虑 Go 中的以下代码

type A struct {
  f int
}

type B struct {
  f int `somepkg:"somevalue"`
}


func f() {
  var b *B = (*B)(&A{1}) // <-- THIS

  fmt.Printf("%#v\n", b)
}
Run Code Online (Sandbox Code Playgroud)

标记的行会导致内存副本(我想避免,因为 A 附加了许多字段)还是只是重新解释,类似于将 an 转换int为 an uint

编辑:我担心是否必须复制整个结构,类似于将字节切片转换为字符串。因此,指针副本对我来说是无操作

casting go

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