Docker 网络文档指出:
示例显示:
$ 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 选项?
我在为 NestJS 应用程序创建 Docker 映像时遇到问题,该应用程序通过 Prisma 与已在另一个容器中运行的 Postgress 数据库进行通信。问题是在 Docker 构建的“prisma 生成”阶段无法访问数据库。
这是简短的版本。:-)
首先,数据库的 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)
还有另一个构建 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) 我正在尝试在子组件中使用带有 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) 连接到在 Docker 中运行的 MongoDB(带有 ReplicaSet)在 5.13.9 中可以正常工作,但在 6.0.8 中失败
\n这是数据库的 docker-compose.yml 文件:
\nversion: \'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\nRun 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\nRun Code Online (Sandbox Code Playgroud)\n代码位于 Typescript 中,对于 …
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. …
docker ×3
dart ×1
flutter ×1
mongodb ×1
mongoose ×1
nestjs ×1
postgresql ×1
prisma ×1
reactjs ×1
replicaset ×1
typescript ×1