docker的run命令 笔记250406
docker的run命令 笔记250406
Docker 的 run
命令用于创建并启动一个新的容器。它是 Docker 中最常用的命令之一,基本语法为:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用选项(OPTIONS)
参数 | 说明 |
---|---|
-d 或 --detach | 后台运行容器(守护态)。 |
-it | 以交互模式运行容器(通常与 bash 结合使用,如 -it ubuntu bash )。 |
--name | 为容器指定名称(如 --name my_container )。 |
-p 或 --publish | 映射宿主机端口到容器端口(格式:宿主机端口:容器端口 ,如 -p 8080:80 )。 |
-P 或 --publish-all | 自动映射所有暴露的容器端口到宿主机随机高端口。 |
-v 或 --volume | 挂载宿主机目录到容器(格式:宿主机目录:容器目录 ,如 -v /data:/app/data )。 |
-e 或 --env | 设置环境变量(如 -e KEY=value ,支持多次使用)。 |
--env-file | 从文件加载环境变量(如 --env-file .env )。 |
--rm | 容器停止后自动删除(适合临时任务)。 |
--restart | 容器退出时的重启策略(如 --restart always 或 --restart on-failure:5 )。 |
--network | 指定容器网络模式(如 --network bridge 、host 、none )。 |
--memory 和 --cpus | 限制容器资源(如 --memory=500m 限制内存,--cpus=1.5 限制 CPU)。 |
--privileged | 赋予容器特权模式(访问宿主机设备)。 |
-u 或 --user | 指定运行用户(如 -u 1000 或 -u user:group )。 |
--restart
选项
-
no
默认值,容器退出后不会自动重启。 -
on-failure[:max-retries]
- 容器以非 0 状态码退出时自动重启(例如程序崩溃)。
- 可选的
:max-retries
指定最大重试次数(例如on-failure:3
)。
-
always
- 无论退出状态码是什么,都自动重启容器(包括手动停止容器后,Docker 服务重启时也会启动该容器)。
- 注意:
docker stop
手动停止的容器不会触发此策略。
-
unless-stopped
- 无论退出状态码是什么,都自动重启容器。
- 与
always
的区别:如果容器是手动停止的(docker stop
),即使 Docker 服务重启,容器也不会自动启动。
-
容器崩溃时自动重启(最多重试 3 次)
docker run --restart=on-failure:3 my_app
-
始终自动重启(适合关键服务)
docker run --restart=always nginx
-
除非手动停止,否则自动重启
docker run --restart=unless-stopped mysql
常用示例
-
启动一个后台运行的 Nginx 容器:
docker run -d -p 80:80 --name my_nginx nginx
-
运行一次性任务并自动删除容器:
docker run --rm alpine echo "Hello, Docker!"
-
挂载目录并设置环境变量:
docker run -d -v /host/data:/app/data -e DB_HOST=db my_app_image
-
交互式进入容器 Shell:
docker run -it ubuntu bash
-
限制资源并指定重启策略:
docker run -d --memory=1g --cpus=2 --restart=on-failure:3 my_service
-
后台运行容器
-d
或--detach
示例:docker run -d nginx
-
交互式运行容器
-it
(组合使用-i
交互模式 +-t
分配伪终端)
示例:docker run -it ubuntu /bin/bash
-
端口映射
-p <主机端口>:<容器端口>
示例:docker run -p 8080:80 nginx # 将主机的 8080 端口映射到容器的 80 端口
-
挂载数据卷
-v <主机路径>:<容器路径>
示例:docker run -v /host/data:/container/data nginx
-
设置环境变量
-e <变量名>=<值>
示例:docker run -e MYSQL_ROOT_PASSWORD=123456 mysql
-
容器名称
--name <名称>
示例:docker run --name my_nginx nginx
-
自动删除容器(退出后)
--rm
示例:docker run --rm alpine echo "Hello"
-
资源限制
--memory
:限制内存docker run --memory 512m nginx
--cpus
:限制 CPUdocker run --cpus 2 nginx
-
网络模式
--network <模式>
示例:docker run --network host nginx # 使用主机网络
常用场景示例
-
启动一个 Nginx 容器
docker run -d -p 80:80 --name my_web nginx
-
进入 Ubuntu 容器的 Shell
docker run -it ubuntu /bin/bash
-
运行 MySQL 并设置密码
docker run -d --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql
-
挂载目录并运行应用
docker run -v /home/user/app:/app -w /app python:3.9 python app.py
- 如果本地不存在指定的镜像(
IMAGE
),Docker 会自动从仓库(如 Docker Hub)拉取。 - 使用
docker run --help
查看完整参数列表。 - 使用
docker ps -a
查看所有容器(包括已停止的)。
Docker 的 run
命令是启动新容器的核心指令,其用法和常见参数如下:
基本语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用参数
参数 | 说明 |
---|---|
-d | 后台运行容器(守护模式) |
-it | 交互式终端(常用于进入容器) |
--name | 指定容器名称 |
-p | 端口映射(主机端口:容器端口) |
-v | 卷挂载(主机目录:容器目录) |
-e | 设置环境变量(如 -e "KEY=value" ) |
--rm | 容器退出后自动删除 |
--network | 指定网络模式(如 host 或自定义网络) |
--memory | 限制内存使用(如 --memory 512m ) |
常见使用场景示例
-
启动一个交互式的 Ubuntu 容器
docker run -it ubuntu bash
-it
:分配交互式终端bash
:容器启动后执行的命令
-
后台运行 Nginx 并映射端口
docker run -d -p 80:80 --name my-nginx nginx
-d
:后台运行-p 80:80
:将宿主机的 80 端口映射到容器的 80 端口--name
:容器命名为my-nginx
-
挂载主机目录到容器
docker run -v /host/path:/container/path -it ubuntu
-v
:将宿主机的/host/path
挂载到容器的/container/path
-
设置环境变量
docker run -e "MYSQL_ROOT_PASSWORD=123456" -d mysql
-e
:为 MySQL 容器设置 root 密码
-
限制资源使用
docker run --memory 256m -it ubuntu
- 限制容器内存为 256MB
注意事项
- 镜像不存在时自动拉取:如果本地没有指定镜像,Docker 会先从 Docker Hub 拉取。
- 容器生命周期:默认容器执行完
COMMAND
后退出,若需长期运行需指定持续进程(如 Web 服务)。 - 查看运行中的容器:
docker ps
- 停止/删除容器:
docker stop <容器ID> # 停止容器 docker rm <容器ID> # 删除容器
完整示例
启动一个带有端口映射、卷挂载和环境变量的 Python 应用:
docker run -d \-p 5000:5000 \-v /host/app:/app \-e "FLASK_ENV=production" \--name my-flask-app \python:3.9 \python /app/app.py
掌握这些参数后,你可以灵活部署各种容器化应用。如果需要更高级的配置(如自定义网络、资源限制),可参考 Docker 官方文档。
以下是关于 Docker run
命令的详细说明,结合知识库中的信息整理而成:
1. 命令概述
- 作用:
docker run
是 Docker 中最核心的命令之一,用于创建并启动一个新的容器。 - 功能:
- 根据指定的镜像(Image)创建容器。
- 如果本地不存在该镜像,Docker 会自动从 Docker Hub 或配置的镜像仓库拉取。
- 支持丰富的参数配置容器的运行时行为(如端口映射、挂载卷、后台运行等)。
2. 基本语法
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
- 参数说明:
OPTIONS
:配置容器的选项(如-d
后台运行、-v
挂载卷等)。IMAGE
:要使用的镜像名称(如nginx
、ubuntu
)。TAG
:镜像的标签(如latest
、1.0
),未指定时默认使用latest
。COMMAND
:覆盖镜像默认的启动命令(如/bin/bash
)。ARG
:传递给COMMAND
的参数。
3. 常用参数
参数 | 说明 | 示例 |
---|---|---|
-d | 后台运行容器(守护进程模式)。 | docker run -d nginx |
-it | 交互式终端(分配终端并保持 STDIN 打开)。 | docker run -it ubuntu /bin/bash |
--name | 指定容器名称(默认随机生成)。 | docker run --name my_nginx -d nginx |
-p | 端口映射(主机端口:容器端口)。 | docker run -p 8080:80 nginx (将容器 80 端口映射到主机 8080) |
-P | 随机端口映射(自动将容器的暴露端口映射到主机的随机高端口)。 | docker run -P nginx |
-v | 挂载卷(主机目录:容器目录[:模式])。 | docker run -v /data:/app/data nginx (将主机 /data 挂载到容器 /app/data ) |
--rm | 容器退出后自动删除(适用于临时容器)。 | docker run --rm ubuntu echo "Hello" |
-u | 指定用户运行容器(如 root )。 | docker run -u root ubuntu |
--privileged | 赋予容器特权模式(允许访问硬件设备)。 | docker run --privileged=true jenkins/jenkins |
-e | 设置环境变量。 | docker run -e ENV_VAR=value my_image |
-w | 指定工作目录。 | docker run -w /app node npm start |
--link | 链接其他容器(Docker Compose 推荐使用网络替代)。 | docker run --link db_container:db app_image |
4. 示例用法
(1) 启动简单容器
docker run ubuntu:latest
- 默认前台运行,执行镜像的默认命令(如
ubuntu
镜像默认命令是/bin/bash
,但未指定命令时会退出)。
(2) 交互式容器
docker run -it ubuntu:latest /bin/bash
- 进入 Ubuntu 容器的交互式终端(
-i
保持 STDIN 开放,-t
分配伪终端)。
(3) 后台运行服务
docker run -d -p 8080:80 --name my_nginx nginx:latest
- 后台运行 Nginx 容器,将容器的 80 端口映射到主机的 8080 端口。
(4) 挂载目录
docker run -d -v /host/path:/container/path nginx:latest
- 将主机的
/host/path
目录挂载到容器的/container/path
,实现数据持久化或共享。
(5) 以特权模式运行
docker run -d --privileged --name jenkins_hogwarts jenkins/jenkins:lts
- 用于需要访问硬件或内核功能的容器(如 Jenkins 需要特权模式)。
(6) 指定用户和环境变量
docker run -u root -e USERNAME=admin -w /app my_image python app.py
- 以
root
身份运行,设置环境变量USERNAME=admin
,工作目录为/app
,执行python app.py
。
5. 执行流程
- 检查镜像:若本地不存在指定镜像,自动从 Docker Hub 拉取。
- 创建容器:基于镜像创建一个可写层(UnionFS)。
- 配置参数:应用
run
命令中的参数(端口、卷、环境变量等)。 - 启动容器:执行镜像的默认命令或用户指定的命令。
6. 注意事项
- 容器退出问题:
- 若未指定
-d
,容器会在命令执行完毕后退出(如docker run ubuntu echo "Hello"
)。 - 需要长期运行的服务(如 Nginx)应使用
-d
后台模式。
- 若未指定
- 端口映射:
-p
需明确指定端口,-P
会随机映射容器暴露的端口。
- 数据持久化:
- 使用
-v
挂载卷或 Docker 卷(docker volume create
)避免数据丢失。
- 使用
- 清理资源:
- 使用
docker rm $(docker ps -a -q)
删除所有停止的容器。 - 使用
docker system prune
清理未使用的镜像、网络等。
- 使用
7. 其他相关命令
- 查看容器:
docker ps # 查看运行中的容器 docker ps -a # 查看所有容器(包括已停止)
- 进入运行中的容器:
docker exec -it <容器名/ID> /bin/bash # 进入 Ubuntu/Debian 容器 docker exec -it <容器名/ID> cmd # 进入 Windows 容器
- 停止/删除容器:
docker stop <容器名/ID> # 停止容器 docker rm <容器名/ID> # 删除已停止的容器
总结
docker run
是 Docker 的核心命令,通过灵活组合参数可以实现容器的高效管理和配置。常用参数包括 -d
、-it
、-p
、-v
等,结合示例可快速掌握其用法。更多高级功能(如网络配置、资源限制)可参考 Docker 官方文档或知识库中的其他命令。
docker run
是 Docker 里极为常用的命令,它的用途是创建并运行一个新的容器。以下是此命令的基本语法:
docker run [选项] <镜像名> [命令] [参数]
下面为你介绍一些常用选项及其功能:
容器运行模式
-d
:让容器在后台以守护进程的形式运行。
docker run -d nginx
-it
:开启一个交互式会话,一般用于需要与容器交互的场景,像进入容器的 shell 环境。
docker run -it ubuntu bash
端口映射
-p
:将容器内的端口映射到宿主机的端口,格式为宿主机端口:容器端口
。
docker run -p 8080:80 nginx
挂载卷
-v
:把宿主机的目录或文件挂载到容器内,这样能实现数据的持久化和共享。
docker run -v /host/path:/container/path nginx
环境变量设置
-e
:设置容器内的环境变量。
docker run -e MYSQL_ROOT_PASSWORD=password mysql
容器命名
--name
:为容器指定一个自定义的名称。
docker run --name my-nginx nginx
限制资源使用
--cpus
:限制容器可以使用的 CPU 核心数。
docker run --cpus=0.5 nginx
-m
:限制容器可以使用的内存大小。
docker run -m 512m nginx
这些只是 docker run
命令常用选项的一部分,你可以通过 docker run --help
命令查看完整的选项列表。
Docker 的 run
命令是 Docker 中最常用的命令之一,用于创建并启动一个新的容器。它的基本语法如下:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用选项
以下是一些常用的 run
命令选项及其说明:
选项 | 说明 |
---|---|
-d | 后台运行容器(detached mode)。 |
-i | 保持标准输入打开(interactive mode)。 |
-t | 分配一个伪终端(pseudo-TTY)。 |
-p | 端口映射,格式为 主机端口:容器端口 。 |
-v | 挂载卷,格式为 主机路径:容器路径 。 |
--name | 为容器指定一个名称。 |
--rm | 容器停止后自动删除。 |
-e | 设置环境变量,格式为 KEY=VALUE 。 |
--network | 指定容器的网络连接类型(如 host 、bridge 、none )。 |
--restart | 设置容器的重启策略(如 always 、on-failure )。 |
--cap-add | 添加 Linux 能力(capability)。 |
--cap-drop | 移除 Linux 能力(capability)。 |
--privileged | 给容器赋予更高的权限(通常用于需要访问主机设备的场景)。 |
--read-only | 将容器的根文件系统设置为只读。 |
--restart | 设置容器的重启策略,如 always 、on-failure 、unless-stopped 等。 |
基本用法示例
1. 运行一个简单的容器
docker run hello-world
这个命令会从 Docker Hub 下载 hello-world
镜像,并运行它。
2. 后台运行容器
docker run -d nginx
这个命令会在后台启动一个 Nginx 容器。
3. 映射端口
docker run -p 8080:80 nginx
将主机的 8080 端口映射到容器的 80 端口。
4. 挂载卷
docker run -v /host/path:/container/path nginx
将主机的 /host/path
目录挂载到容器的 /container/path
。
5. 设置容器名称
docker run --name my-nginx -d nginx
为容器指定一个名称 my-nginx
。
6. 设置环境变量
docker run -e ENV_VAR=value nginx
在容器中设置环境变量 ENV_VAR
。
7. 进入容器
docker run -it ubuntu bash
启动一个 Ubuntu 容器,并进入其终端。
8. 自动删除容器
docker run --rm nginx
容器停止后会自动删除。
9. 设置重启策略
docker run --restart=always nginx
设置容器在主机重启时自动启动。
10. 限制资源
docker run -m 512m --cpus=2.0 nginx
限制容器使用最多 512MB 内存和 2 个 CPU 核心。
查看运行的容器
运行以下命令可以查看当前正在运行的容器:
docker ps
查看所有容器(包括停止的):
docker ps -a
进入正在运行的容器
如果容器已经在后台运行,可以使用以下命令进入:
docker exec -it <container_id_or_name> bash
停止容器
停止容器的命令:
docker stop <container_id_or_name>
删除容器
删除容器的命令:
docker rm <container_id_or_name>
总结
docker run
是一个非常强大的命令,通过组合不同的选项,可以满足各种复杂的容器运行需求。根据实际场景选择合适的选项,可以让容器的运行更加高效和安全。
docker run
命令用于创建一个新的容器并运行一个命令。以下是docker run
命令的基本用法和一些常用参数:
基本语法
docker run [选项] <镜像名称> [命令] [参数]
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
常用参数
-d
或--detach
:以后台模式运行容器(守护进程模式)。-p
或--publish
:将容器的端口映射到主机的端口。-v
或--volume
:将主机的目录或文件挂载到容器中。--name
:为容器指定一个名称。-e
或--env
:设置环境变量。--rm
:容器退出时自动删除容器。-it
:交互模式,通常与/bin/bash
一起使用。
示例
-
运行一个简单的容器
docker run hello-world
-
以后台模式运行Nginx容器
docker run -d --name my-nginx nginx
-
将容器的80端口映射到主机的8080端口
docker run -d -p 8080:80 --name my-nginx nginx
-
挂载主机目录到容器
docker run -d -v /host/path:/container/path --name my-nginx nginx
-
设置环境变量并运行容器
docker run -d -e MY_ENV_VAR=value --name my-nginx nginx
-
交互模式运行容器
docker run -it ubuntu /bin/bash
1. 基础控制
-
-d
:后台运行容器docker run -d nginx
-
--name
:指定容器名称docker run --name my_nginx nginx
2. 交互模式
-it
:开启交互式终端(通常配合/bin/bash
使用)docker run -it ubuntu /bin/bash
3. 网络与端口
-p
:端口映射(主机端口:容器端口)docker run -p 8080:80 nginx
4. 数据持久化
-v
:挂载主机目录到容器docker run -v /host/data:/container/data nginx
5. 环境变量
-e
:设置容器内环境变量docker run -e MYSQL_ROOT_PASSWORD=123456 mysql
6. 资源限制
-
--memory
:限制内存docker run --memory=512m nginx
-
--cpus
:限制 CPU 核数docker run --cpus=1.5 nginx
1. 启动 Web 服务
docker run -d -p 80:80 --name webserver nginx
2. 运行临时任务
docker run --rm alpine echo "Hello Docker"
3. 调试容器
docker run -it --entrypoint /bin/sh nginx
Docker 的 run
命令是启动容器的核心指令,其功能强大且参数丰富。以下是综合多个文档的详细解析:
一、基础语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
• IMAGE
:必选参数,指定容器基于的镜像。
• COMMAND
:容器启动后执行的命令(默认为镜像定义的命令)。
二、常用选项(OPTIONS)
1. 运行模式
• 后台运行:-d
示例:docker run -d nginx:latest
• 交互模式:-it
(需同时使用 -i
交互模式和 -t
分配终端)
示例:docker run -it centos:7 /bin/bash
2. 网络与端口
• 端口映射:
• -p 宿主机端口:容器端口
:指定映射(如 -p 80:80
)
• -P
:随机映射容器所有暴露端口到宿主机高位端口
• 网络类型:--net
(支持 bridge
/host
/none
等)
示例:docker run --net=host nginx:latest
3. 资源管理
• CPU限制:
• --cpuset-cpus="0-2"
:绑定容器到指定 CPU 核心
• --cpus
:限制容器可用的 CPU 核数
• 内存限制:-m
示例:docker run -m 500m --memory-swap=1g nginx:latest
4. 存储与挂载
• 数据卷挂载:-v 宿主机目录:容器目录
示例:docker run -v /data:/app/data nginx:latest
5. 容器标识
• 命名容器:--name
示例:docker run --name mynginx nginx:latest
• 设置主机名:-h
示例:docker run -h myhost centos:7
6. 环境变量
• 单变量:-e KEY=VALUE
示例:docker run -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
• 从文件加载:--env-file
示例:docker run --env-file=env.list nginx:latest
7. 其他实用选项
• 自动清理容器:--rm
(退出后自动删除)
示例:docker run --rm -it centos:7 bash
• 链接其他容器:--link
(已逐渐被网络替代)
示例:docker run --link redis:redis-server app
三、典型示例
-
运行 Nginx 并映射端口
docker run -d -p 80:80 --name myweb nginx:latest
-
交互式运行 CentOS 并进入终端
docker run -it centos:7 /bin/bash
-
挂载目录并设置环境变量
docker run -d -v /host/data:/app/data -e APP_ENV=prod myapp:latest
-
限制资源运行 MySQL
docker run -d --name db -m 1g --cpus=2 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
四、注意事项
• 镜像版本:尽量指定镜像版本(如 nginx:1.23.4
),避免默认拉取 latest
导致版本冲突。
• 资源限制:过度限制可能导致容器崩溃,需根据实际需求调整。
• 日志管理:默认日志可能占用磁盘空间,可通过 --log-opt
限制大小。
如需更完整的参数列表,可参考 Docker 官方文档。
Docker 的 run
命令用于从镜像创建并运行容器。以下是其基础用法和常用参数:
基本语法
docker run [选项] 镜像名 [命令] [参数]
常用选项
-
后台运行
-d, --detach
让容器在后台运行(脱离终端)。docker run -d nginx
-
端口映射
-p, --publish <主机端口>:<容器端口>
将容器端口映射到主机端口。docker run -p 8080:80 nginx
-
挂载卷
-v, --volume <主机路径>:<容器路径>
将主机目录或文件挂载到容器中。docker run -v /data:/app/data ubuntu
-
环境变量
-e, --env <变量名>=<值>
设置环境变量。docker run -e MY_VAR="hello" my-image
-
指定容器名
--name <名称>
为容器指定自定义名称(默认随机生成)。docker run --name my_nginx -d nginx
-
运行后自动删除
--rm
容器退出后自动删除(适合临时任务)。docker run --rm ubuntu echo "Hello World"
示例
-
运行交互式 Shell
docker run -it --name my_ubuntu ubuntu /bin/bash
-
运行带持久化数据的 Nginx
docker run -d -p 80:80 -v /my_nginx_html:/usr/share/nginx/html --name my_nginx nginx
-
运行带环境变量的镜像
docker run -e NAME="Alice" -e AGE=30 my-app
注意事项
- 如果本地没有指定镜像,Docker 会自动从镜像仓库(如 Docker Hub)拉取。
docker run
会同时创建并启动容器,若需仅启动已存在的容器,使用docker start
。
需要更具体的用法或场景说明吗?
Docker的run
命令是用于创建并运行一个新的容器。以下是关于该命令的一些详细信息:
基本语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-
OPTIONS:一系列用于配置容器运行方式的选项[3]。
-
IMAGE:要运行的容器镜像[3]。
-
COMMAND:在容器内部执行的命令[3]。
-
ARG:传递给命令的参数[3]。
常用参数
-
容器运行模式参数
-d, --detach=false
:以后台模式运行容器,将容器放置在后台运行,作为守护进程[1]。-it
:以交互模式运行容器,允许与容器进行交互[1]。--rm
:容器退出后自动删除[2]。
-
容器标识相关参数
--name=""
:为容器指定一个名称(可以根据需要更改为您喜欢的名称)[1]。
-
端口映射参数
-p=[]
:将容器的端口映射到主机上的一个端口[1]。
-
数据卷挂载参数
-v, --mount=[[
:挂载主机上的文件或目录到容器内部[1]。
-
环境变量设置参数
-e=[]
:设置环境变量[1]。
-
容器重启策略参数
--restart=""
:指定容器在退出时的重启策略[1]。
-
网络设置参数
--network="bridge|host|none|container:[name|id]"
:指定容器使用的网络模式[1]。
-
其他参数
--privileged=false
:给容器赋予特权,可以访问主机的设备[1]。--cap-add=[]
:增加容器的 Linux 能力[1]。--cap-drop=[]
:删除容器的 Linux 能力[1]。--tmpfs=[]
:在容器内创建临时文件系统[1]。--ulimit=[]
:设置容器的资源限制[1]。--security-opt=[]
:设置容器的安全选项[1]。--cpu-shares=0
:设置容器的 CPU 份额[1]。--memory=""
:设置容器可使用的内存限制[1]。--hostname=""
:设置容器的主机名[1]。--user=""
:指定容器运行时的用户名或 UID[1]。--volume-driver=""
:指定容器使用的卷驱动程序[1]。--shm-size=""
:设置容器的共享内存大小[1]。--add-host=[]
:向容器的/etc/hosts
文件添加自定义主机名和 IP 映射[1]。--read-only=false
:将容器的文件系统设置为只读模式[1]。--cpu-quota=0
:设置容器的 CPU 配额[1]。--cpu-period=0
:设置容器的 CPU 周期[1]。--dns=[]
:指定容器使用的自定义 DNS 服务器[1]。--dns-search=[]
:指定容器的 DNS 搜索域[1]。--sysctl=[]
:设置容器的内核参数[1]。--label=[]
:为容器添加标签[1]。
docker run --restart no,always,on-failure,unless-stopped
笔记250406
docker mysql 笔记250406
相关文章:
docker的run命令 笔记250406
docker的run命令 笔记250406 Docker 的 run 命令用于创建并启动一个新的容器。它是 Docker 中最常用的命令之一,基本语法为: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]常用选项(OPTIONS) 参数说明-d 或 --detach后台运行…...
批量将 HTML 转换为 Word/Txt/PDF 等其它格式
HTML是一种超文本标记语言,在进行网页编辑的时候非常常见,我们浏览的网站内容,都可以保存为 html 格式,如果想要将 html 格式的文档转为其它格式,比如 Word、PDF 或者 Txt,我们应该怎么做呢?今天…...
TPS入门DAY02 服务器篇
1.创建空白插件 2.导入在线子系统以及在线steam子系统库 MultiplayerSessions.uplugin MultiplayerSessions.Build.cs 3.创建游戏实例以及初始化会话创建流程 创建会话需要的函数,委托,委托绑定的回调,在线子系统接口绑定某一个委托的控制其…...
C高级,终端操作
核心要点整理 刷题作业 一、基础操作 命令行提示符结构 ubuntuubuntu:~$ 当前用户 | 连接符 | 计算机名 | 当前路径 | 用户权限 用户切换 su 用户名:切换用户sudo passwd 用户名:修改用户密码 常用指令 cd -:返回上一次路径ls:显…...
Lua语言的边缘计算
Lua语言的边缘计算探索 引言 随着物联网(IoT)、人工智能(AI)和大数据技术迅速发展,边缘计算作为一种分布式计算架构日益受到重视。其核心理念是将计算和数据存储资源更靠近数据源,以降低延迟、减轻网络负…...
RabbitMQ运维
RabbitMQ运维 一.集群1.简单介绍2.集群的作用 二.搭建集群1.多机多节点搭建步骤 2.单机单节点搭建步骤 3.宕机演示 三.仲裁队列1.简单介绍2.Raft协议Raft基本概念主节点选举选举过程 3.仲裁队列的使用 四.HAProxy负载均衡1.安装HAProxy2.HAProxy的使用 一.集群 1.简单介绍 Ra…...
【ESP32】ESP32物联网应用:MQTT控制与状态监测
ESP32物联网应用:MQTT控制与状态监测 引言 在物联网时代,远程监测和控制设备已经成为现实生活中常见的需求。本文将介绍如何使用ESP32微控制器配合MQTT协议,实现一个简单而强大的物联网应用:远程状态监测和设备控制。我们将以巴…...
如何保证RabbitMQ消息的可靠传输?
在这个图中,消息可能丢失的场景是1,2,3 1.在生产者将消息发送给RabbitMQ的时候,消息到底有没有正确的到达服务器呢,RabbitMQ提供了两种解决方案: a. 通过事务机制实现(比较消耗性能࿰…...
Redis高可用
主从复制 为什么要主从复制? 由于数据都是存储在一台服务器上,如果出事就完犊子了,比如: 如果服务器发生了宕机,由于数据恢复是需要点时间,那么这个期间是无法服务新的请求的;如果这台服务器…...
[项目总结] 在线OJ刷题系统项目技术应用(下)
🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…...
链表算法中常用操作和技巧
目 1.常用技巧 1.1.画图 1.2.添加虚拟头节点 1.3.大胆引入中间变量 1.4.快慢双指针 1.4.1判断链表是否有环 1.4.2找链表中环的入口 2.常用操作 2.1. 创建一个新节点 2.2.尾插 2.3.头插 1.常用技巧 1.1.画图 画图可以让一些抽象的文字语言更加形象生动 画图&#…...
MySQL基础 [二] - 数据库基础
目录 库的增删查改 查看数据库 创建数据库 删除数据库 修改数据库 认识系统编码(字符集和校验规则) 查看系统默认字符集以及校验规则 查看数据库支持的字符集和字符集校验规则 验证不同校验码编码的影响 校验规则对数据库的影响 数据库的备份…...
【Linux篇】基础IO - 文件描述符的引入
📌 个人主页: 孙同学_ 🔧 文章专栏:Liunx 💡 关注我,分享经验,助你少走弯路! 文章目录 一. 理解文件1.1 侠义理解1.2 广义理解1.3 文件操作的归类认知1.4 系统角度 二. 回顾C语言文件…...
13.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Refit
在微服务架构中,不同服务之间经常需要相互调用以完成复杂业务流程,而 Refit 能让这种“跨服务调用”变得简洁又可靠。开发者只需将对外暴露的 REST 接口抽象成 C# 接口,并通过共享库或内部 NuGet 包在各服务中引用,这种契约优先的…...
C++ 并发性能优化实战:提升多线程应用的效率与稳定性
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,获得2024年博客之星荣誉证书,高级开发工程师,数学专业,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开发技术,…...
前端性能优化的全方位方案【待进一步结合项目】
以下是前端性能优化的全方位方案,结合代码配置和最佳实践,涵盖从代码编写到部署的全流程优化: 一、代码层面优化 1. HTML结构优化 <!-- 语义化标签减少嵌套 --> <header><nav>...</nav> </header> <main&…...
(undone) 并行计算 CS149 Lecture3 (现代多核处理器2 + ISPC编程抽象)
url: https://www.bilibili.com/video/BV1du17YfE5G?spm_id_from333.788.videopod.sections&vd_source7a1a0bc74158c6993c7355c5490fc600&p3 如上堂课,超线程技术通过储存不同线程的 execution context,能够在一个线程等待 IO 的时候低成本切换…...
DiffAD:自动驾驶的统一扩散建模方法
25年3月来自新加坡公司 Carion 和北航的论文“DiffAD: A Unified Diffusion Modeling Approach for Autonomous Driving”。 端到端自动驾驶 (E2E-AD) 已迅速成为实现完全自动驾驶的一种有前途的方法。然而,现有的 E2E-AD 系统通常采用传统的多任务框架,…...
QScrollArea 内部滚动条 QSS 样式失效问题及解决方案
在使用 Qt 进行 UI 开发时,我们经常希望通过 QSS(Qt Style Sheets)自定义控件的外观,比如为 QScrollArea 的内部滚动条设置特定的样式。然而,有开发者遇到了这样的问题:在 UI 设计器中预览 QSS 显示效果正常,但程序运行时却显示为系统默认样式。经过反复测试和调试,最终…...
换脸视频FaceFusion3.1.0-附整合包
2025版最强换脸软件FaceFusion来了(附整合包)超变态的AI换脸教程 2025版最强换脸软件FaceFusion来了(附整合包)超变态的AI换脸教程 整合包地址: 「Facefusion_V3.1.0」 链接:https://pan.quark.cn/s/f71601…...
Qt 入门 1 之第一个程序 Hello World
Qt 入门1之第一个程序 Hello World 直接上操作步骤从头开始认识,打开Qt Creator,创建一个新项目,并依次执行以下操作 在Qt Creator中,一个Kits 表示一个完整的构建环境,包括编译器、Qt版本、调试器等。在上图中可以直…...
无锁队列简介与实现示例
1. 简介 无锁队列是一种数据结构,旨在在多线程环境中实现高效的并发访问,而无需使用传统的锁机制(如互斥锁)。无锁队列通过使用原子操作(如CAS,Compare-And-Swap)来确保线程安全,从…...
SpringMVC与SpringCloud的区别
SpringMVC与SpringCloud的核心区别 功能定位 • SpringMVC: 基于Spring框架的Web层开发模块,采用MVC(Model-View-Controller)模式,专注于处理HTTP请求、路由分发(如DispatcherServlet)和视图…...
STM32F103C8T6单片机开发:简单说说单片机的外部GPIO中断(标准库)
目录 前言 如何使用STM32F1系列的标准库完成外部中断的抽象 初始化我们的GPIO为输入的一个模式 初识GPIO复用,开启GPIO的复用功能时钟 GPIO_EXTILineConfig和EXTI_Init配置外部中断参数 插入一个小知识——如何正确的配置结构体? 初始化中断&#…...
Python urllib3 全面指南:从基础到实战应用
欢迎来到涛涛的频道,今天用到了urllib3,和大家分享下。 1、介绍 urllib3 urllib3 是 Python 中一个功能强大且用户友好的 HTTP 客户端库,它提供了许多标准库 urllib 所不具备的高级特性。作为 Python 生态中最受欢迎的 HTTP 库之一…...
25.5 GLM-4优化RAG实战:0.1%参数实现准确率飙升30%,成本直降90%!
使用 GLM-4 优化 RAG 程序:基于标注数据的 Adapter 训练实战 关键词:GLM-4 优化, RAG 增强, 数据标注, Adapter 训练, 检索增强生成 1. RAG 系统的核心挑战与优化方向 传统 RAG(Retrieval-Augmented Generation)系统常面临以下瓶颈: graph LR A[用户提问] --> B[检…...
OrangePi入门教程(待更新)
快速上手指南 https://www.hiascend.com/developer/techArticles/20240301-1?envFlag1 教学课程(含开发板配置和推理应用开发) https://www.hiascend.com/developer/devboard 开发推理应用 https://www.hiascend.com/developer/techArticles/20240326-1?envFlag1...
基于SpringBoot+Vue实现的二手交易市场平台功能一
一、前言介绍: 1.1 项目摘要 随着社会的发展和人们生活水平的提高,消费者购买能力的提升导致产生了大量的闲置物品,这些闲置物品具有一定的经济价值。特别是在高校环境中,学生群体作为一个具有一定消费水平的群体,每…...
TC3xx芯片的UCB介绍
文章目录 前言一、UCB的定义及其功能简介二、UCB_BMHDx_ORIG and UCB_BMHDx_COPY (x 0 - 3)2.1 BMHD(Boot Mode Head) 三、UCB_SSW四、UCB_PFLASH_ORIG and UCB_PFLASH_COPY4.1 Password4.2 UCB Confirmation 前言 缩写全称UCBUser Configuration BlockBMHDBoot Mode Headers…...
Airflow量化入门系列:第四章 A股数据处理与存储优化
Airflow量化入门系列:第四章 A股数据处理与存储优化 本教程系统性地讲解了 Apache Airflow 在 A 股量化交易中的应用,覆盖从基础安装到高级功能的完整知识体系。通过八章内容,读者将掌握 Airflow 的核心概念、任务调度、数据处理、技术指标计…...
《海空重力测量理论方法及应用》之一重力仪系统组成及工作原理(下)
2、三轴稳定平台型 稳定平台的作用是隔离测量载体角运动对重力观测量的影响,确保重力传感器的敏感轴方向始终与重向保持一致。 当前主流的海空重力仪使用的稳定平台方案主要有4种: ①双轴阻尼陀螺平台: ②)双轴惯导加捷联方位平台: ③三轴惯导平台; ④捷联惯导…...
C++模板递归结构详解和使用
示例代码 template<typename _SourceIterator, typename _DestT> struct convert_pointer {typedef typename convert_pointer<typename _SourceIterator::pointer, _DestT>::type type; };1. 模板参数 _SourceIterator 是输入的类型,通常表示迭代器类…...
(八)PMSM驱动控制学习---无感控制之滑膜观测器
在FOC矢量控制中,我们需要实时得到转子的转速和位置 ,但在考虑到成本和使用场合的情况下,往往使用无感控制,因为无位置传感器克服了传统机械式传感器的很多缺点和不足。比如,机械式传感器对环境要求比较严格࿰…...
蓝桥杯真题-分糖果-题解
链接:https://www.lanqiao.cn/problems/4124/learning/ 题目 复述:两种糖果,分别有9和16,分给7人,每个人得到的最少2,最多5,必需全部分完,几种分法? 复习-深度优先搜索 …...
推荐系统(二十二):基于MaskNet和WideDeep的商品推荐CTR模型实现
在上一篇文章《推荐系统(二十一):基于MaskNet的商品推荐CTR模型实现》中,笔者基于 MaskNet 构建了一个简单的模型。笔者所经历的工业级实践证明,将 MaskNet 和 Wide&Deep 结合应用,可以取得不错的效果&…...
辅助查询是根据查询到的文档片段再去生成新的查询问题
💡 辅助查询是怎么来的? 它是基于你当前查询(query)检索到的某个文档片段(chunk_result),再去“反推”出新的相关问题(utility queries),这些问题的作用是&a…...
Spring Cloud 框架为什么能处理高并发
Spring Cloud框架能够有效处理高并发场景,核心在于其微服务架构设计及多组件的协同作用,具体机制如下: 一、分布式架构设计支撑高扩展性 服务拆分与集群部署 Spring Cloud通过微服务拆分将单体系统解耦为独立子服务,每个服务可独…...
Pseduo LiDAR(CVPR2019)
文章目录 AbstractIntroductionRelated WorkLiDAR-based 3D object detectionStereo- and monocular-based depth estimationImage-based 3D object detection MethodDepth estimationPseudo-LiDAR generationLiDAR vs. pseudo-LiDAR3D object detectionData representation ma…...
强化学习课程:stanford_cs234 学习笔记(3)introduction to RL
文章目录 前言7 markov 实践7.1 markov 过程再叙7.2 markov 奖励过程 MRP(markov reward process)7.3 markov 价值函数与贝尔曼方程7.4 markov 决策过程MDP(markov decision process)的 状态价值函数7.4.1 状态价值函数7.4.2 状态…...
前端精度计算:Decimal.js 基本用法与详解
一、Decimal.js 简介 decimal.js 是一个用于任意精度算术运算的 JavaScript 库,它可以完美解决浮点数计算中的精度丢失问题。 官方API文档:Decimal.js 特性: 任意精度计算:支持大数、小数的高精度运算。 链式调用:…...
来聊聊C++中的vector
一.vector简介 vector是什么 C 中的 vector 是一种序列容器,它允许你在运行时动态地插入和删除元素。 vector 是基于数组的数据结构,但它可以自动管理内存,这意味着你不需要手动分配和释放内存。 与 C 数组相比,vector 具有更多的…...
对比学习中的NCE(Noise-Contrastive Estimation)和InfoNCE(SimCLR)损失函数+案例(附SimSiam分析)
在对比学习(Contrastive Learning)中,NCE(Noise-Contrastive Estimation)和InfoNCE是两种常见的目标函数,它们都用于通过区分正样本和负样本来学习高质量的表示。 1. NCE(Noise-Contrastive Est…...
基于FAN网络的图像识别系统设计与实现
基于FAN网络的图像识别系统设计与实现 一、系统概述 本系统旨在利用FAN(Fourier Analysis Networks)网络架构实现高效的图像识别功能,并通过Python语言设计一个直观的用户界面,方便用户操作与使用。FAN网络在处理周期性特征方面具有独特优势,有望提升图像识别在复杂场景…...
【瑞萨 RA-Eco-RA2E1-48PIN-V1.0 开发板测评】PWM
【瑞萨 RA-Eco-RA2E1-48PIN-V1.0 开发板测评】PWM 本文介绍了瑞萨 RA2E1 开发板使用内置时钟和定时器实现 PWM 输出以及呼吸灯的项目设计。 项目介绍 介绍了 PWM 和 RA2E1 的 PWM 资源。 PWM 脉冲宽度调制(Pulse Width Modulation, PWM)是一种对模拟…...
NDK开发:开发环境
NDK开发环境 一、NDK简介 1.1 什么是NDK NDK(Native Development Kit)是Android提供的一套工具集,允许开发者在Android应用中使用C/C++代码。它包含了: 交叉编译器构建工具调试器系统头文件和库示例代码和文档1.2 NDK的优势 性能优化:直接使用底层代码,提高性能代码保…...
设计模式简述(三)工厂模式
工厂模式 描述简单工厂(静态工厂)工厂方法模式 抽象工厂增加工厂管理类使用 描述 工厂模式用以封装复杂的实例初始化过程,供外部统一调用 简单工厂(静态工厂) 如果对象创建逻辑简单且一致,可以使用简单工…...
通过Postman和OAuth 2.0连接Dynamics 365 Online的详细步骤
🌟 引言 在企业应用开发中,Dynamics 365 Online作为微软的核心CRM平台,提供了强大的Web API接口。本文将教你如何通过Postman和OAuth 2.0认证实现与Dynamics 365的安全连接,轻松调用数据接口。 📝 准备工作 工具安装…...
LlamaIndex实现RAG增强:上下文增强检索/重排序
面向文档检索的上下文增强技术 文章目录 面向文档检索的上下文增强技术概述技术背景核心组件方法详解文档预处理向量存储创建上下文增强检索检索对比技术优势结论导入库和环境变量读取文档创建向量存储和检索器数据摄取管道使用句子分割器的摄取管道使用句子窗口的摄取管道查询…...
AI比人脑更强,因为被植入思维模型【43】蝴蝶效应思维模型
giszz的理解:蝴蝶效应我们都熟知,就是说一个微小的变化,能带动整个系统甚至系统的空间和时间的远端,产生巨大的链式反应。我学习后的启迪,简单的说,就是不要忽视任何微小的问题,更多时候&#x…...
程序化广告行业(62/89):DSP系统的媒体与PDB投放设置探秘
程序化广告行业(62/89):DSP系统的媒体与PDB投放设置探秘 大家好!在之前的学习中,我们对程序化广告的DSP系统有了一定了解。今天还是带着和大家共同进步的想法,深入探索DSP系统中媒体设置以及PDB投放设置的…...