小编Ber*_*rtC的帖子

docker网络创建,--subnet和--ip-range有什么区别

Docker 网络文档指出:

  • subnet : CIDR 格式的子网,表示一个网段
  • ip-range : 从子范围分配容器ip

示例显示:

$ docker network create \
  --driver=bridge \
  --subnet=172.28.0.0/16 \
  --ip-range=172.28.5.0/24 \
  --gateway=172.28.5.254 \
  br0
Run Code Online (Sandbox Code Playgroud)

因此,子网是从 172.28.0.0 到 172.28.255.255

ip 范围是从 172.28.5.0 到 172.28.5.255

为什么要使子网大于 IP 范围?

为什么有子网和 ip-range 选项?

docker docker-network

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

Docker 中的 NestJS 无法在另一个 Docker 容器中的 Postgres 上执行 Prisma 迁移

我在为 NestJS 应用程序创建 Docker 映像时遇到问题,该应用程序通过 Prisma 与已在另一个容器中运行的 Postgress 数据库进行通信。问题是在 Docker 构建的“prisma 生成”阶段无法访问数据库。

这是简短的版本。:-)

docker-compose 数据库

首先,数据库的 docker-compose 在“docker-compose up -d”之后运行良好:

version: '3.9'

services:
  db:
    image: postgres:latest
    restart: "no"
    container_name: hwpostgres
    volumes:
      - ./database:/var/lib/postgresql/data
    ports:
      - "5432:5432"
    environment:
      POSTGRES_PASSWORD: root
      POSTGRES_USER: root
      POSTGRES_DB: taskDb

networks:
  default:
    external:
      name: my-network

Run Code Online (Sandbox Code Playgroud)

API 的 docker-compose

还有另一个构建 NestJS API 应用程序的 docker-compose 文件:

version: '3.9'

services:
  api:
    build:
      context: ./build
      dockerfile: Dockerfile_api
    image: hwapi
    restart: "no"
    container_name: hwapi
    environment:
      DATABASE_URL: postgresql://root:root@hwpostgres:5432/tasksDb?schema=public
    ports:
      - "8080:3001"
    command: ["node", …
Run Code Online (Sandbox Code Playgroud)

postgresql docker docker-compose nestjs prisma

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

在子组件中使用 DropDown 的 React-Final-Form,如何?

我正在尝试在子组件中使用带有 DropDown 的 React-final-form。无法让这个工作。

我所有的文本字段都已经在子组件中,这就像一个魅力。父级中的字段如下所示:

<Field
    name="lastName"
    placeholder="Last Name"
    validate={required}
>
    {({input, meta, placeholder}) => (
        <MyField meta={meta} input={input} placeholder={placeholder}/>
    )}
</Field>
Run Code Online (Sandbox Code Playgroud)

子组件如下所示:

export const MyField = (props) => {
    return (
        <Form.Field className={props.meta.active ? 'active' : ''}>
            <Label>{props.label ? props.label : props.placeholder}</Label>
            <Form.Input
                {...props.input}
                placeholder={props.placeholder}
                className={(props.meta.error && props.meta.touched ? 'error' : '')}
            />
        </Form.Field>
    )
};
Run Code Online (Sandbox Code Playgroud)

“Form.Field” 和 “Label” 来自Semantic-ui-react

但现在我想用 DropDown 做同样的事情。标准 DropDown,取自 React-Final-Form 站点上的示例,如下所示:

<Field name="toppingsA" component="select">
    <option value="chicken">Chicken</option>
    <option value="ham">Ham</option>
    <option value="mushrooms">Mushrooms</option>
    <option …
Run Code Online (Sandbox Code Playgroud)

reactjs semantic-ui-react react-final-form

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

如何使用 Mongoose 6.0.8 连接到在 Docker 中运行的 Mongo Standalone ReplicaSet?

连接到在 Docker 中运行的 MongoDB(带有 ReplicaSet)在 5.13.9 中可以正常工作,但在 6.0.8 中失败

\n

数据库的 docker-compose.yml:

\n

这是数据库的 docker-compose.yml 文件:

\n
version: \'3.9\'\n\nservices:\n\n  loggerdb:\n    image: mongo\n    container_name: loggerdb\n    command: ["--replSet", "rs0", "--bind_ip_all", ]\n    restart: always\n    ports:\n      - "27017:27017"\n    volumes:\n      - ./data:/data/db\n    environment:\n      MONGO_INITDB_DATABASE: logger\n\nnetworks:\n  default:\n    external: true\n    name: logger-network\n
Run Code Online (Sandbox Code Playgroud)\n

如您所见,没有身份验证,并且数据库正在本地主机上侦听 27017。

\n

数据库运行在Docker容器中:

\n
$ docker ps -a\nCONTAINER ID   IMAGE          COMMAND                  CREATED       STATUS       PORTS                                           NAMES\nb42adb1e26ec   0bcbeb494bed   "docker-entrypoint.s\xe2\x80\xa6"   3 hours ago   Up 3 hours   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp   loggerdb\n
Run Code Online (Sandbox Code Playgroud)\n

连接代码 (5.13.9)

\n

代码位于 Typescript 中,对于 …

mongoose mongodb typescript docker replicaset

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

Dart:Dart 如何匹配类的构造函数中的命名参数?

Dart 如何匹配类的构造函数中的命名参数?

示例(有效):

Class MyWidget {

    final String a;
    final String b;

    MyWidget (
        @required this.a,
        @required this.b
    )

    @override // Yes, it's Flutter
    Widget build(BuildContext context) {
        return ....
    }
}


/// Calling MyWidget
return MyWidget(
    a: x,
    b: y
)
Run Code Online (Sandbox Code Playgroud)

This works as expected. But in this setup I am forced to name the variable in MyWidget the same as the Named Parameter because the 'a' in the call is the same as the 'this.a' in the MyWidget. …

dart flutter

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