当前位置: 首页 > news >正文

北京网站排名公司php个人网站简洁

北京网站排名公司,php个人网站简洁,舜元建设 集团 有限公司网站,他达拉非作用与功效目录 1. 什么是容器编排#xff08;Docker Compose#xff09;2. 容器编排的功能3. 容器编排文件#xff08;docker-compose.yml#xff09;的介绍3.1 文件语法版本3.2 文件基本结构及常见指令 4. Docker Compose命令详解4.1 Docker Compose命令清单4.2 命令格式和常见选项… 目录 1. 什么是容器编排Docker Compose2. 容器编排的功能3. 容器编排文件docker-compose.yml的介绍3.1 文件语法版本3.2 文件基本结构及常见指令 4. Docker Compose命令详解4.1 Docker Compose命令清单4.2 命令格式和常见选项说明4.3 常见命令说明4.3.1 docker compose up命令4.3.2 docker compose down命令4.3.3 docker compose run命令 5. Docker Compose的基本操作6. Docker Compose 部署自定义服务7. Docker Compose 部署 WordPress7.1 什么是 WordPress7.2 部署 WordPress 8. 常见问题总结 1. 什么是容器编排Docker Compose 1docker-compose 是 Docker 官方的开源项目使用 python 编写实现上调用了Docker 服务的 API 进行容器管理及编排其官方定义为定义和运行多个 Docker 容器的应用。docker-compose 中有两个非常重要的概念 服务 ( service )一个应用的容器实际上可以包括若干运行相同镜像的容器实例。项目( project )由一组关联的应用容器组成的一个完整业务单元在 dockercompose.yml 文件中定义, 整个 docker-compose.yml 定义一个项目。 2Compose 的默认管理对象是项目通过子命令对项目中的一组容器进行便捷地生命周期管理。通过 compose 可以方便的管理多个服务。 3生活案例来理解容器编排 docker compose 就像航母一样有舰载机、防空导弹舰载机、导弹呢就是一个个容器。 2. 容器编排的功能 1在介绍功能之前先解释一下为什么需要容器编排Docker Compose Docker 是一个轻量化的应用程序 Docker 官方推荐每个 Docker 容器中只运行一个进程。如果一个应用需要涉及到 MySQL、 nginx 等环境 那么我们需要分别为应用、数据库和 nginx 创建单独的 docker 容器然后分别启动容器。想象一下当我们构建好 Docker 之后每次启动应用都至少需要 docker run三次 或者写一些脚本来实现 这样会比较繁琐。另外这些 docker 容器都是分散独立的也不方便镜像管理。那既然这些 docker容器 都是为了同一个应用服务我们就应该把它们放到一起这就引出了 dockercompose 来解决这类型的问题。 2Docker Compose 的安装 安装 docker 的时候我们默认已经安装了 docker-compose,安装的组件包名称为docker-compose-plugin此处不再赘述 #检查安装是否成功 [xiaomakerxiaomaker-virtual-machine:compose]$ docker compose version Docker Compose version v2.16.3Docker Compose 的功能 Compose的使用的步骤 使用 docker-compose.yml 定义构成应用程序的服务这样它们可以在隔离环境中一起运行。最后执行 docker compose up 命令来启动并运行整个应用程序。 核心功能Compose 具有管理应用程序整个生命周期的命令。 启动停止和重建服务。查看正在运行的服务的状态。流式传输运行服务的日志输出。在服务上运行一次性命令。 4Docker Compose的使用场景 单主机部署快速搭建一个单节点开发或者测试环境方便使用。不同环境隔离通过指定 project 来运行不同的环境实现隔离的目的。 3. 容器编排文件docker-compose.yml的介绍 3.1 文件语法版本 1目前官方支持三个大版本 即 Version 1、 Version 2 及 Version 3 其中 Version 1 已经被废弃掉了。当前最新的版本是 3.8它支持的 Docker Engine 版本不得低于 19.03.0。我们是基于 3.8 版本的 Compose file 语法进行讲解其他版本介绍参见官方文档。 3.2 文件基本结构及常见指令 1基本格式如下 version: 3.8 # 定义版本 表示当前使用的 docker-compose 语法的版本 services: # 服务可以存在多个 servicename: # 服务名字它也是内部 bridge 网络可以使用的 DNS name如果不是集群模式相当于 docker run 的时候指定的一个名称 #集群Swarm模式是多个容器的逻辑抽象image: # 必选镜像的名字command: # 可选如果设置则会覆盖默认镜像里的 CMD 命令environment: # 可选等价于 docker container run 里的 --env 选项设置环境变量volumes: # 可选等价于 docker container run 里的 -v 选项 绑定数据卷networks: # 可选等价于 docker container run 里的 --network 选项指定网络ports: # 可选等价于 docker container run 里的 -p 选项指定端口映射expose: # 可选指定容器暴露的端口build: #构建目录depends_on: #服务依赖配置env_file: #环境变量文件 servicename2:image:command:networks:ports: servicename3:#...volumes: # 可选等价于 docker volume createnetworks: # 可选等价于 docker network create2下面将逐个介绍常见字段格式语法。 image指定容器运行的镜像。以下格式都可以 image: redis image: redis:5 image: redissha256:0ed5d5928d4737458944eb604cc8509e245c3e19d02ad83935398bc4b991aac7 image: library/redis image: docker.io/library/redis image: my_private.registry:5000/rediscommand覆盖容器启动的默认命令。 command: [bundle, exec, thin, -p, 3000] command: bundle exec thin -p 3000entrypoint覆盖容器默认的 entrypoint。 entrypoint: /code/entrypoint.shentrypoint也可以是以下格式 entrypoint:- php- -d- zend_extension/usr/local/lib/php/extensions/no-debug-nonzts-20100525/xdebug.so- -d- memory_limit-1- vendor/bin/phpunitenvironment添加环境变量。您可以使用数组或字典、任何布尔值布尔值需要用引号引起来以确保 YML 解析器不会将其转换为 True 或 False。 #map 语法environment:RACK_ENV: developmentSHOW: trueUSER_INPUT: #数组语法 environment:- RACK_ENVdevelopment- SHOWtrue- USER_INPUTnetworks指定容器运行的网络。首先配置容器网络 services:frontend:image: awesome/webappnetworks:- front-tier- back-tiermonitoring:image: awesome/monitoringnetworks:- adminbackend:image: awesome/backendnetworks:back-tier:aliases:- databaseadmin:aliases:- mysql networks:front-tier:back-tier:admin:networks配置网络驱动和子网信息 services:frontend:image: awesome/webappnetworks:front-tier:ipv4_address: 172.16.238.10 networks:front-tier:ipam:driver: defaultconfig:- subnet: 172.16.238.0/24volumes将主机的数据卷或者文件挂载到容器里。 #短语法 services:db:image: postgres:latestvolumes:- /localhost/postgres.sock:/var/run/postgres/postgres.sock- /localhost/data:/var/lib/postgresql/data#完整语法 services:backend:image: awesome/backendvolumes:- type: volume#命名卷source: db-datatarget: /datavolume:nocopy: true#绑定卷- type: bindsource: /var/run/postgres/postgres.socktarget: /var/run/postgres/postgres.sock volumes:db-data:ports指定端口映射。以下格式都可以 #完整语法 ports:- target: 80host_ip: 127.0.0.1published: 8080protocol: tcpmode: host- target: 80host_ip: 127.0.0.1published: 8000-9000protocol: tcpmode: host#短语法 ports:- 3000- 3000-3005- 8000:8000- 9090-9091:8080-8081- 49100:22- 127.0.0.1:8001:8001- 127.0.0.1:5000-5010:5000-5010- 6060:6060/udpexpose暴露端口但不映射到宿主机只被连接的服务访问。仅可以指定内部端口为参数 expose:- 3000- 8000build指定为构建镜像上下文路径。例如 webapp 服务指定为从上下文路径 ./dir/Dockerfile 所构建的镜像 version: 3.7 services:webapp:build: ./dirbuild也可以作为具有在上下文指定的路径的对象以及可选的 Dockerfile 和 args version: 3.7 services:webapp:build:context: ./dirdockerfile: Dockerfile-alternateargs:buildno: 1labels:- com.example.descriptionAccounting webapp- com.example.departmentFinance- com.example.label-with-empty-valuebuild构建下各个字段的含义 context上下文路径。dockerfile指定构建镜像的 Dockerfile 文件名。args添加构建参数这是只能在构建过程中访问的环境变量。labels设置构建镜像的标签。 depends_on设置依赖关系。 docker compose up以依赖性顺序启动服务。在以下示例中先启动 db 和redis 才会启动 web。docker compose up SERVICE自动包含 SERVICE 的依赖项。在以下示例中docker compose up web 还将创建并启动 db 和 redis。docker compose stop按依赖关系顺序停止服务。在以下示例中 web 在 db 和redis 之前停止。 version: 3.7 services:web:build: .depends_on:- db- redisredis:image: redisdb:image: postgresdepends_on可以指定条件 healthy 需要配置 healthcheck 来完成 services:web:build: .depends_on:db:condition: service_healthyredis:condition: service_startedredis:image: redisdb:image: postgreshealth check 样例 version: 3.8 services:web:image: nginx:1.24.0environment:TEST: 1depends_on:mysql:condition: service_healthymysql:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: bit123volumes:- /data/maxhou/mysqldata/varlib/:/var/lib/mysqlhealthcheck:test: mysql --userroot --passwordbit123 -e SELECT 1;interval: 10stimeout: 5sretries: 10env_file从文件添加环境变量。可以是单个值或列表的多个值。 env_file: .envenv_file也可以是列表格式 env_file:- ./common.env- ./apps/web.env- /opt/secrets.env其他的指令可以参考官方文档。 建议多看官方文档。 4. Docker Compose命令详解 1Docker Compose命令官网参考地址https://docs.docker.com/reference/cli/docker/compose/。 4.1 Docker Compose命令清单 1命令清单如下 命令功能docker compose build构建服务docker compose config规范的格式来显示服务配置docker compose cp在本地系统和服务容器直接拷贝文件docker compose create创建服务的容器docker compose down停止所有容器并删除容器docker compose events从服务器获取实时事件docker compose exec在容器中执行命令docker compose images列出所有容器使用的镜像docker compose kill强制停止服务的容器docker compose logs显示日志docker compose ls显示所有项目docker compose pause暂停服务docker compose port列出所有的端口映射docker compose ps该命令可以列出项目中目前的所有容器docker compose pull拉取服务镜像docker compose push推送服务镜像docker compose restart重启或者重启某个服务docker compose rm删除服务停止的容器docker compose run在指定服务容器上执行相关的命令docker compose start启动当前停止的某个容器docker compose stop停止当前运行的某个容器docker compose top显示运行的进程docker compose unpause恢复服务docker compose upup 命令会构建重新创建启动链接一个服务相关的容器。默认情况下如果容器已经存在将会停止并尝试重新创建他们。并使用之前挂载的卷。 --no-recreate 参数可以让容器不被停止或者重新创建 -d 表示后台运行docker compose version查看版本 4.2 命令格式和常见选项说明 1对于 Compose 来说大部分命令的对象既可以是项目本身也可以指定为项目中的服务或者容器。如果没有特别的说明命令对象将是项目这意味着项目中所有的服务都会受到命令影响。docker-compose 命令的基本的使用格式为 docker compose [OPTIONS] COMMAND [ARGS...]2常见选项说明 -f–file 指定使用的 Compose 模板文件默认为 docker-compose.yml可 以多次指定。-p, --project-name 指定项目名称默认将使用所在目录名称作为项目名。 4.3 常见命令说明 4.3.1 docker compose up命令 1该命令的作用十分强大它会尝试自动完成包括构建镜像、重新创建服务、启动服务并关联服务相关容器的一系列操作可以直接通过该命令来启动一个项目。 docker compose up [options] [SERVICE...]-d 在后台运行服务容器 推荐在生产环境下使用该选项。–force-recreate 强制重新创建容器不能与 --no-recreate 同时使用。–no-recreate 如果容器已经存在了则不重新创建不能与 --forcerecreate 同时使用。 4.3.2 docker compose down命令 1停止所有容器并删除容器和网络 docker compose down [options] [SERVICE...]-v–volumes 删除容器同时删除目录映射。 4.3.3 docker compose run命令 1该命令可以在指定服务容器上执行相关的命令 # 例如:启动一个 ubuntu 服务容器并执行 ping docker.com 命令 # docker compose run ubuntu ping docker.com docker compose run [options] SERVICE [COMMAND] [ARGS...]-d 后台运行容器。–name NAME 为容器指定一个名字。–entrypoint CMD 覆盖默认的容器启动指令。-e KEYVAL 设置环境变量值可多次使用选项来设置多个环境变量。-u, --user“” 指定运行容器的用户名或者 uid。–rm 运行命令后自动删除容器。-p–publish[] 映射容器端口到本地主机。 5. Docker Compose的基本操作 1创建 compose 目录 mkdir -p /data/myworkdir/compose/base cd /data/myworkdir/compose/base2进入 base 目录创建 docker-compose.yml 文件 cd /data/myworkdir/compose/base/ vi docker-compose.yml3输入以下内容 version: 3.8 services:web:image: nginx:1.24.0environment:TEST: 1ports:- 8979:80networks:- mytestnetvolumes:- ./mynginxhome:/usr/share/nginx/htmldepends_on:mysql:condition: service_healthyredis:condition: service_healthymysql:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: bit123networks:- mytestnetvolumes:- /data/maxhou/mysqldata/varlib/:/var/lib/mysqlhealthcheck:test: mysql --userroot --passwordbit123 -e SELECT 1;interval: 10stimeout: 5sretries: 10redis:image: redis:7networks:- mytestnethealthcheck:test: redis-cli pinginterval: 10stimeout: 5sretries: 10 networks:mytestnet:4输入 docker config 会做检查 [xiaomakerxiaomaker-virtual-machine:base]$ docker compose config version must be a string5我们修改错误信息将版本转为字符串再次检查 version: 3.8 services:web:image: nginx:1.24.0environment:TEST: 1ports:- 8979:80networks:- mytestnetvolumes:- ./mynginxhome:/usr/share/nginx/htmldepends_on:mysql:condition: service_healthyredis:condition: service_healthymysql:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: bit123networks:- mytestnetvolumes:- /data/maxhou/mysqldata/varlib/:/var/lib/mysqlhealthcheck:test: mysql --userroot --passwordbit123 -e SELECT 1;interval: 10stimeout: 5sretries: 10redis:image: redis:7networks:- mytestnethealthcheck:test: redis-cli pinginterval: 10stimeout: 5sretries: 10 networks:mytestnet:[xiaomakerxiaomaker-virtual-machine:base]$ docker compose config name: base services:mysql:environment:MYSQL_ROOT_PASSWORD: bit123healthcheck:test:- CMD-SHELL- mysql --userroot --passwordbit123 -e SELECT 1;timeout: 5sinterval: 10sretries: 10image: mysql:5.7networks:mytestnet: nullvolumes:- type: bindsource: /data/maxhou/mysqldata/varlib/target: /var/lib/mysqlbind:create_host_path: trueredis:healthcheck:test:- CMD-SHELL- redis-cli pingtimeout: 5sinterval: 10sretries: 10image: redis:7networks:mytestnet: nullweb:depends_on:mysql:condition: service_healthyredis:condition: service_healthyenvironment:TEST: 1image: nginx:1.24.0networks:mytestnet: nullports:- mode: ingresstarget: 80published: 8979protocol: tcpvolumes:- type: bindsource: /data/myworkdir/compose/base/mynginxhometarget: /usr/share/nginx/htmlbind:create_host_path: true networks:mytestnet:name: base_mytestnet6创建首页目录编辑首页内容 [xiaomakerxiaomaker-virtual-machine:base]$ mkdir -p ./mynginxhome [xiaomakerxiaomaker-virtual-machine:base]$ cd ./mynginxhome/ [xiaomakerxiaomaker-virtual-machine:mynginxhome]$ echo Hello index.html7启动服务 [xiaomakerxiaomaker-virtual-machine:base]$ docker compose up -d [] Running 4/4 ? Network base_mytestnet Created 0.1s ? Container base-mysql-1 Healthy 11.6s ? Container base-redis-1 Healthy 11.6s ? Container base-web-1 Started 11.8s8通过页面访问 9停止服务 [xiaomakerxiaomaker-virtual-machine:base]$ docker compose stop [] Running 3/3 ✔ Container base-web-1 Stopped 10.2s ✔ Container base-mysql-1 Stopped 2.0s ✔ Container base-redis-1 Stopped 0.2s10启动服务 [xiaomakerxiaomaker-virtual-machine:base]$ docker compose start [] Running 3/3 ✔ Container base-redis-1 Healthy 11.3s ✔ Container base-mysql-1 Healthy 11.3s ✔ Container base-web-1 Started 0.4s11删除服务 [xiaomakerxiaomaker-virtual-machine:base]$ docker compose down [] Running 4/4 ✔ Container base-web-1 Removed 0.2s ✔ Container base-redis-1 Removed 0.2s ✔ Container base-mysql-1 Removed 1.8s ✔ Network base_mytestnet Removed 0.1s6. Docker Compose 部署自定义服务 我们编写一个简单的案例 nginx 反向代理到我们的一个 springboot 微服务微服务访问我们的 msyql 数据库查询用户信息。 1设计数据非常简单的一个表信息写入两条数据文件为 init.sql drop database if exists test; CREATE DATABASE test DEFAULT CHARACTER SET utf8mb4 ; use test; CREATE TABLE users ( sno int(11) DEFAULT NULL, sname varchar(50) DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; INSERT INTO users (sno,sname) VALUES (1,pony), (2,maxhou);2创建一个 springboot 应用配置 maven 项目。 3添加启动类 package com.bit.demojdbc; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; SpringBootApplication public class DemojdbcApplication {public static void main(String[] args) {SpringApplication.run(DemojdbcApplication.class, args);} }4配置数据库信息注意本地测试的时候红色部分调整为 ip 地址而我们实际的服务使用的 mysql 的一个服务名称。 spring.datasource.driver-class-namecom.mysql.jdbc.Driver spring.datasource.urljdbc:mysql://mysql:3306/test spring.datasource.usernameroot spring.datasource.passwordroo5配置用户控制器简单配置不再去涉及 mapper 那些内容通过 jdbc 直接完成操作 package com.bit.demojdbc; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/user) public class UserController {AutowiredJdbcTemplate jdbcTemplate;RequestMapping(/list)ResponseBodypublic Object Users(){return jdbcTemplate.queryForList(select * from users);} }6编译打包 7进入打包的目录本地测试正常启动。 8本地测试正常访问 9编写 docker-compose.yml version: 3.8 services:web:image: nginx:1.24.0ports:- 8112:80networks:- myhellonetvolumes:- ./nginx/conf.d:/etc/nginx/conf.ddepends_on:mysys:condition: service_startedmysys:image: java:8depends_on:mysql:condition: service_healthycommand: java -jar /app/demojdbc-0.0.1-SNAPSHOT.jarvolumes:- ./app/:/app/networks:- myhellonetmysql:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: rootnetworks:- myhellonetvolumes:- ./mysql/varlib/:/var/lib/mysql- ./mysql/init/:/docker-entrypoint-initdb.d/healthcheck:test: mysql --userroot --passwordroot -e SELECT 1;interval: 10stimeout: 5sretries: 10 networks:myhellonet:10创建工程目录和卷目录 mkdir -p /data/maxhou/mycompose/prj16 cd /data/maxhou/mycompose/prj16 mkdir -p ./nginx/conf.d mkdir -p ./app mkdir -p ./mysql/varlib/ mkdir -p ./mysql/init/11将 nginx 的反向代理配置 bit.conf 放入到./nginx/conf.d其中内容为 server {listen 80;access_log off;location / {proxy_pass http://mysys:8080/user/;} }12将数据库初始化文件 init.sql 放入到./mysql/init 目录 13将应用 jar 包放入到./app 目录 [xiaomakerxiaomaker-virtual-machine:prj16]$ ll ./app total 19132 drwxr-xr-x 2 root root 4096 Apr 25 23:44 ./ drwxr-xr-x 5 root root 4096 Apr 26 00:04 ../ -rw-r--r-- 1 root root 19579363 Apr 26 00:07 demojdbc-0.0.1- SNAPSHOT.jar [xiaomakerxiaomaker-virtual-machine:prj16]$ ll ./nginx/conf.d/ total 12 drwxr-xr-x 2 root root 4096 Apr 25 23:49 ./ drwxr-xr-x 3 root root 4096 Apr 25 23:42 ../ -rw-r--r-- 1 root root 117 Apr 25 23:49 bit.conf [xiaomakerxiaomaker-virtual-machine:prj16]$ ll ./mysql/init/ total 12 drwxr-xr-x 2 root root 4096 Apr 25 23:49 ./ drwxr-xr-x 4 root root 4096 Apr 25 23:43 ../ -rw-r--r-- 1 root root 417 Apr 26 00:11 init.sql14启动我们的项目 [xiaomakerxiaomaker-virtual-machine:prj16]$ docker compose up -d [] Running 4/4 ✔ Network prj16_myhellonet Created 0.1s ✔ Container prj16-mysql-1 Healthy 11.2s ✔ Container prj16-mysys-1 Started 11.5s ✔ Container prj16-web-1 Started 12.2s15浏览器访问 nginx可以看到用户信息正常返回 至此我们完成了我们的 nginx 服务后台服务和数据的完整的一个应用。 7. Docker Compose 部署 WordPress 7.1 什么是 WordPress 1概念如下 WordPress 是使用 PHP 语言开发的博客平台用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。也可以把 WordPress 当作一个内容管理系统CMS来使用。WordPress 是一款个人博客系统并逐步演化成一款内容管理系统软件它是使用PHP 语言和 MySQL 数据库开发的用户可以在支持 PHP 和 MySQL 数据库的服务器上使用自己的博客。WordPress 有许多第三方开发的免费模板安装方式简单易用。不过要做一个自己的模板则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用 HTML 代码、 CSS、 PHP 等相关知识。WordPress 官方支持中文版同时有爱好者开发的第三方中文语言包如 wopus 中文语言包。 WordPress 拥有成千上万个各式插件和不计其数的主题模板样式。 7.2 部署 WordPress 1编写 Docker Compose version: 3.8 # 定义所有的 service 信息, services 下面的第一级别的 key 既是一个service 的名称 services:db:image: mysql:5.7volumes:- ./db_data:/var/lib/mysql# 定义容器重启策略restart: always# 设置环境变量 environment 的值可以覆盖 env_file 的值environment:MYSQL_ROOT_PASSWORD: mywordpressMYSQL_DATABASE: wordpressMYSQL_USER: wordpressMYSQL_PASSWORD: wordpresshealthcheck:test: mysql --userroot --passwordmywordpress -e SELECT 1;interval: 10stimeout: 5sretries: 10wordpress:#docker compose up 以依赖顺序启动服务先启动 dbdepends_on:db:condition: service_healthyimage: wordpress:latest# 建立宿主机和容器之间的端口映射关系,容器的 80 端口和宿主机的 8000端口建立映射关系ports:- 8000:80restart: alwaysvolumes:- ./wordpress:/var/www/htmlenvironment:WORDPRESS_DB_HOST: db:3306WORDPRESS_DB_USER: wordpressWORDPRESS_DB_PASSWORD: wordpressWORDPRESS_DB_NAME: wordpress2运行站点 docker compose up -d3访问 web 页面 4配置参数点击安装 5登录 6进入后台 7删除释放空间 [xiaomakerxiaomaker-virtual-machine:compose]$ docker compose down [] Running 3/2 ⠿ Container compose-wordpress-1 Removed 3.3s ⠿ Container compose-db-1 Removed 1.9s ⠿ Network compose_default Removed8. 常见问题总结 1up、 run 和 start 之间有什么区别 通常你想要 docker compose up. 用于 up 启动或重新启动 docker-compose.yml.在默认的“附加”模式下会看到来自所有容器的所有日志。在“分离”模式 ( -d) 中启动容器后 Compose 退出但容器继续在后台运行。该 docker compose run 命令用于运行“一次性”或“临时”任务。它需要您要运行的服务名称并且只为正在运行的服务所依赖的服务启动容器。用于 run 运行测试或执行管理任务例如从数据卷容器中删除或添加数据。该 run 命令的作用类似于 dockerrun -ti 它打开容器的交互式终端并返回与容器中进程的退出状态匹配的退出状态。docker compose start 命令仅对重新启动先前创建但已停止的容器有用。它从不创建新容器。 2如何在同一主机上运行 Compose 文件的多个副本 Compose 使用项目名称为项目的所有容器和其他资源创建唯一标识符。要运行项目的多个副本请使用-p 命令行选项 或 COMPOSE_PROJECT_NAME 环境变量设置自定义项目名称。 3可以控制服务启动顺序吗 可以控制启动顺序通过依赖指定并且可以配合 healthcheck 等健康检查成功以后再启动。
http://www.pierceye.com/news/410560/

相关文章:

  • 为什么自己做的网站老是404错误个人建设网站流程
  • 柳州网站建设找哪家好沈阳线上教学
  • 外贸网站免费建设做暖暖视频网站大全
  • 做机票在线预订网站手机版传奇发布网站
  • 网站建设 深圳 凡科站内推广
  • 南宁做网站外包公众号二次开发
  • 中国做网站最好的公司郑州网站建设目标
  • 各大网站平台发布信息企业官网模板免费源码
  • 第一次做网站怎么样下手威联通如何做网站
  • 网站有哪几种类型郑州建设信息网可以领证书吗
  • wordpress 百度网盘网站semseo先做哪个
  • 中企动力网站策划小程序开发平台软件
  • 做网站的公司创业泉州网页设计制作
  • 做网站一定要服务器吗做响应式网站
  • 做网站建设涉及哪些算法呼和浩特网站建设电话
  • 网站流量统计 设计做seo需要会网站开发吗
  • 网站前台用什么开发襄阳谷城网站建设
  • 网站icp备案号怎么查北京 网站建设 SEO
  • 西安做网站哪里好wordpress用户前端化
  • 宁波网站优化如何免费加速器
  • 一佰互联自助建站网站公司建设网站价格
  • 外贸网站模板免费下载wordpress英文显示改中文字体
  • 长春电商网站建设公司电话微博内容放到wordpress
  • 网站销售怎么样的商务网站模块设计时前台基础设施建设
  • 进空间的网站吗帝国建站教程
  • 做网站 业务流程图如何选择丹阳网站建设
  • 金属东莞网站建设技术支持开放平台产品经理
  • 全网营销型的网站苏州网站设计多少钱
  • 河南教育平台网站建设北京市工程建设信息交易网站
  • 正规品牌网站设计推荐如何上传自己的做的网站