mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 08:27:25 +00:00
Fix mongosh, DCA price, compose healthcheck and cleanup
This commit is contained in:
@@ -53,7 +53,7 @@ docker network inspect my-overlay-net
|
||||
docker service create --name web \
|
||||
--network my-overlay-net \
|
||||
--replicas 3 \
|
||||
nginx # 确保与环境兼容的 Nginx 版本
|
||||
nginx
|
||||
|
||||
# 单机环境下也可以让普通容器加入 attachable overlay 网络
|
||||
docker run -d --name container1 --network my-overlay-net busybox sleep 1d
|
||||
@@ -111,14 +111,14 @@ docker run -d \
|
||||
--dns 8.8.8.8 \
|
||||
--dns 1.1.1.1 \
|
||||
--dns-search example.com \
|
||||
nginx # 确保与环境兼容的 Nginx 版本
|
||||
nginx
|
||||
|
||||
# DNS 选项
|
||||
docker run -d \
|
||||
--dns-option ndots:2 \
|
||||
--dns-option timeout:1 \
|
||||
--dns-option attempts:3 \
|
||||
nginx # 确保与环境兼容的 Nginx 版本
|
||||
nginx
|
||||
|
||||
# 查看容器 DNS 配置
|
||||
docker exec <container_id> cat /etc/resolv.conf
|
||||
@@ -171,8 +171,8 @@ networks:
|
||||
docker network create mynet
|
||||
|
||||
# 运行服务
|
||||
docker run -d --name web --network mynet nginx # 确保与环境兼容的 Nginx 版本
|
||||
docker run -d --name db --network mynet postgres # 确保与环境兼容的 PostgreSQL 版本
|
||||
docker run -d --name web --network mynet nginx
|
||||
docker run -d --name db --network mynet postgres
|
||||
|
||||
# 在其他容器中通过服务名访问
|
||||
docker run -it --network mynet busybox sh
|
||||
|
||||
@@ -26,7 +26,7 @@ Docker Compose 提供了丰富的命令来管理项目和容器。本节将详
|
||||
|
||||
**配置验证**:
|
||||
|
||||
- `docker compose config`:验证 docker-compose.yml 格式是否正确
|
||||
- `docker compose config`:验证 compose.yaml (或 docker-compose.yml) 格式是否正确
|
||||
|
||||
### 11.4.1 命令对象与格式
|
||||
|
||||
|
||||
@@ -5,6 +5,11 @@ services:
|
||||
image: postgres
|
||||
environment:
|
||||
POSTGRES_PASSWORD: 'postgres'
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
web:
|
||||
build: .
|
||||
@@ -13,3 +18,6 @@ services:
|
||||
- .:/code
|
||||
ports:
|
||||
- "8000:8000"
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
|
||||
@@ -41,7 +41,7 @@ Kubernetes 作为一个容器编排系统,为了屏蔽底层不同容器运行
|
||||
|
||||
- 早期版本中,Kubernetes 默认使用 docker 作为运行时,通过一个名为 `dockershim` 的桥接组件对接 Docker,Docker 再对接 containerd。
|
||||
- 随着 containerd 原生支持了 CRI 插件,Kubernetes 开始直接与 containerd 通信,去掉了 `dockershim` 和 `dockerd` 的中间层。这就是为什么从 Kubernetes 1.24+ 开始”弃用 Docker”引发了广泛关注,实际上 Kubernetes 只是弃用 `dockershim`,底层依然在使用从 Docker 基因中诞生的 containerd。参见 [Kubernetes 官方文档](https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd)。
|
||||
- containerd 2.0+ 移除了已弃用的 CRI v1alpha2 接口,仅保留 CRI v1(Kubernetes 1.26+ 仅支持 CRI v1)。如果集群中仍有依赖 CRI v1alpha2 的组件,升级 containerd 2.x 前需先完成迁移。containerd 2.3+ 是 2.x 系列首个 LTS 版本,支持从 1.7 LTS 直接升级,生产环境推荐使用。详见 [containerd 发布说明](https://github.com/containerd/containerd/releases)。
|
||||
- containerd 2.0+ 移除了已弃用的 CRI v1alpha2 接口,仅保留 CRI v1(Kubernetes 1.26+ 仅支持 CRI v1)。containerd 2.3+ 是 2.x 系列首个 LTS 版本,支持从 1.7 LTS 直接升级,生产环境推荐使用。详见 [containerd 发布说明](https://github.com/containerd/containerd/releases)。
|
||||
|
||||
### 17.6.3 为什么直接使用 containerd?
|
||||
|
||||
|
||||
@@ -434,7 +434,7 @@ Kubernetes 进阶 (Week 24-36)
|
||||
- 题目数:55 道
|
||||
- 时间限制:90 分钟
|
||||
- 及格分数:73%(约 41 道题)
|
||||
- 费用:$165 USD
|
||||
- 费用:$199 USD
|
||||
- 有效期:3 年
|
||||
|
||||
考试内容比例:
|
||||
|
||||
@@ -25,13 +25,13 @@ $ docker run --name some-mongo -d --network my-mongo-net mongo
|
||||
```bash
|
||||
$ docker run --name some-app -d --network my-mongo-net application-that-uses-mongo
|
||||
```
|
||||
或者通过 `mongo`
|
||||
或者通过 `mongosh`(MongoDB 6.0+ 已弃用 `mongo`,请使用 `mongosh`)
|
||||
|
||||
```bash
|
||||
$ docker run -it --rm \
|
||||
--network my-mongo-net \
|
||||
mongo \
|
||||
sh -c 'exec mongo "some-mongo:27017/test"'
|
||||
sh -c 'exec mongosh "mongodb://some-mongo:27017/test"'
|
||||
```
|
||||
|
||||
### Dockerfile
|
||||
|
||||
@@ -28,8 +28,6 @@ $ docker run -it --rm --name my-running-app my-nodejs-app
|
||||
```bash
|
||||
$ docker run -it --rm \
|
||||
--name my-running-script \
|
||||
# -v "$ ":/usr/src/myapp \
|
||||
|
||||
--mount type=bind,src="$(pwd)",target=/usr/src/myapp \
|
||||
-w /usr/src/myapp \
|
||||
node:20-alpine \
|
||||
|
||||
Reference in New Issue
Block a user