网站怎么做成app华为云定制建站服务怎么样

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

网站怎么做成app,华为云定制建站服务怎么样,北京专业制作网站公司哪家好,网站建设开发实训的目的Docker Compose简介 Docker Compose是什么 ​ Compose 是Docker公司推出的一个工具软件#xff0c;可以管理多个Dokcer容器组成一个应用。你需要定义一个YAML格式的配置文件 docker-compose.yml#xff0c;写好多个容器之间的调用关系。然后#xff0c;只要一个命令#…Docker Compose简介 Docker Compose是什么 ​ Compose 是Docker公司推出的一个工具软件可以管理多个Dokcer容器组成一个应用。你需要定义一个YAML格式的配置文件 docker-compose.yml写好多个容器之间的调用关系。然后只要一个命令就能同时启动/关闭这些容器 简单来说Docker Compose 是Docker官方的开源项目负责实现Docker容器集群的快速编排。 Docker Compose能干嘛 ​ Docker建议我们每一个容器实例只运行一个服务业务docker容器本身占用资源极少所以最好是将每个服务单独的分隔开来但是这样我们又面临了一个问题 如果我们需要同时部署好多服务难道要每个服务单独写Dockerfile然后构建镜像、构建容器吗这样岂不累死所以Docker官方给我们提供了docker-compose多服务部署的工具 ​ Compose允许用户通过一个单独的 docker-compose.yml 模板YAML格式来定义一组相关联的应用容器为一个项目project 可以很容易地用一个配置文件定义一个多容器的应用然后使用一条指令安装这个应用所以的依赖完成构建。docker-compose 解决了容器与容器之间如何管理编排的问题 Docker Compose 下载安装 Docker Compose 官方文档 https://docs.docker.com/compose/compose-file/compose-file-v3/ Docker Compose 下载地址 https://docs.docker.com/compose/install/ 安装步骤 [rootnhk ~]# sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-\((uname -m) -o /usr/local/bin/docker-compose# 或者 [rootnhk ~]# sudo wget https://github.com/docker/compose/releases/latest/download/docker-compose-\)(uname -s)-$(uname -m) -O /usr/local/bin/docker-compose# 授予执行权限 [rootnhk ~]# chmod x /usr/local/bin/docker-compose [rootnhk ~]# 验证安装是否成功 [rootnhk ~]# docker-compose –version # 您应该能够看到 Docker Compose 的版本信息 Docker Compose version v2.19.1​ 卸载步骤 如果您无法成功下载 Docker Compose 或者想要卸载 Docker Compose可以使用如下步骤 如果你是使用 curl 安装的则使用下面命令卸载 1删除 Docker Compose 的二进制文件 sudo rm /usr/local/bin/docker-compose2验证 Docker Compose 是否已成功卸载 docker-compose –version如果您看到类似 “command not found” 的错误消息则表示 Docker Compose 已成功卸载。 Compose 核心概念 一文件 docker-compose.yml 两要素 服务service一个个应用容器实例比如订单微服务、库存微服务、MySQL容器、nginx容器、redis容器等 工程project由一组关联应用容器组成的一个完整业务单元在docker-compose.yml 文件中定义 Compose使用三步骤 编写Dockerfile 定义各个微服务应用并构建出对应的镜像文件使用 docker-compose.yml 定义一个完整业务单元安排好整体应用中的各个容器服务。最后执行docker-compose.yml up 命令启动并运行整个应用程序完成一键部署上线 Compose 常用命令 查看帮助 docker-compose -h 启动所有docker-compose服务。启动容器。如果不存在将会构建镜像 docker-compose up启动所有docker-compose服务并后台运行 docker-compose up -d停止并删除容器、网络、卷、镜像 docker-compose down进入容器实例内部 docker-compose exec docker-compose.yml 文件中写的服务id /bin/bash docker-compose exec yml里面的服务id展示当前docker-compose编排过的运行的所有容器 docker-compose ps展示当前docker-compose编排过的容器进程 docker-compose top查看容器输出日志 docker-compose logs yml里的服务id 检查设置 docker-compose config检查设置有问题才输出若无输出则证明docker compose文件基本编写正确 docker-compose config -q重启服务 docker-compose restart启动服务 docker-compose start停止服务 docker-compose stop以下是一个简单的 Docker Compose 示例文件 docker-compose.yml用于启动一个包含 Web 应用和数据库的容器 version: 3 services:web:build: .ports:- 8080:80depends_on:- dbdb:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: passwordMYSQL_DATABASE: myapp​ 在上面的示例中定义了两个服务web 和 db。web 服务使用当前目录中的 Dockerfile 构建镜像并将容器的 80 端口映射到主机的 8080 端口。web 服务还依赖于 db 服务即 web 服务会在 db 服务启动之后才启动。 ​ 要使用 Docker Compose 启动这个应用程序只需在包含 docker-compose.yml 文件的目录中运行 docker-compose up 命令即可。Docker Compose 将会自动创建和启动这两个容器并将它们连接在一起。 docker-compose.yml文件实例解读 version: 3 # Docker Compose 文件格式的版本 3services:microService: # 服务名可随意定义image: nhk_docker:1.6 # 镜像名:TAGcontainer_name: ms01 # 容器名称相当于命令 –name ms01ports:- 6001:6001volumes: # 容器数据卷- namenode:/hadoop/dfs/namenetworks:- clear_netdepends_on: # 定义服务之间的依赖关系,当一个服务依赖于其他服务时Docker Compose 会按照 depends_on 中定义的顺序来启动服务。只有在所依赖的服务都已经启动并且健康时才会启动当前的服务,需要注意的是depends_on 并不能保证依赖的服务一定会在当前服务之前启动完成。它只是定义了启动顺序并不能检查服务的健康状态或等待服务完全启动。- redis- mysql reids:image: reids:6.0.8 # 镜像名:TAGcontainer_name: redis01ports:- 6379:6379volumes: # 容器数据卷- /app/redis/redis.conf:/etc/redis/redis.conf- /app/redis/data:/datanetworks:- clear_netcommand: redis-server /etc/redis/redis.conf mysql:image: mysql:5.7 # 镜像名:TAGcontainer_name: ms01 # 容器名称environment:MYSQL_ROOT_PASSWORD: 123456MYSQL_ALLOW_EMPTY_PASSWORD: onMYSQL_DATABASE: db01MYSQL_USER: nhkMYSQL_PASSWORD: 123456ports:- 3306:3306volumes: # 容器数据卷- /app/mysql/db:/var/lib/mysql - /app/mysql/conf/my.cnf:/etc/my.cnf- /app/mysql/init:/docker-entrypoint-initdb.dnetworks:- clear_netcommand: –defalut-authentication-pluginmysql_native_password # 解决外部无法访问 networks: clear_net: