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

合肥房产网贝壳四川seo

合肥房产网贝壳,四川seo,页面设计公司排名前十,网站制作品牌公司文章目录 Docker-compose概念Docker-compose部署YAML文件格式和编写注意事项注意数据结构对象映射序列属组布尔值序列的映射映射的映射JSON格式文本换行锚点和引用 Docker compose配置常用字段docker compose常用命令Docker Compose 文件结构docker compose部署apachedocker co…

文章目录

  • Docker-compose
    • 概念
    • Docker-compose部署
    • YAML文件格式和编写注意事项
      • 注意
      • 数据结构
        • 对象映射
        • 序列属组
        • 布尔值
        • 序列的映射
        • 映射的映射
        • JSON格式
        • 文本换行
        • 锚点和引用
    • Docker compose配置常用字段
    • docker compose常用命令
    • Docker Compose 文件结构
      • docker compose部署apache
      • docker compose 部署LNMP

Docker-compose

概念

  • Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。

  • Compose是单机编排容器集群或者是分布式服务容器的应用工具。通过Compose,可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。

  • Docker-Compose是一个容器编排工具。

  • 通过一个.yml或.yaml文件,将所有的容器的部署方法、文件映射、容器端口映射等情况写在一个配置文件里,执行docker-compose up命令就像执行脚本一样,一个一个的安装并部署容器。

  • Docker compose 文件通常包含一个或多个服务,每个服务都由一个或多个容器组成。服条定义了容器应该执行的任务,以及容器之间的统赖关系。

  • Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service)以及容器(container)。

  • Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。

  • 一个服务当中可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡,比如 Consul。

  • Docker-compose总结

    • 实现单机容器集群编排管理(使用YAML模板文件定义多个应用容器的启动参数和依赖关系,并使用Docker-compose来根据模板文件的配置来启动容器)
  • 三大概念(包含关系)

    • 项目/工程
      • 默认使用目录名做项目名
      • 支持 -p 或 --project-name 来指定项目名
      • 在项目的目录中会包含一个docker-compose.yml 模板文件此文件为项目的默认配置文件(支持使用 -f 或 COMPOSE_FILE 来指定项目的配置模板文件)
      • 在配置文件里面可以定义一个或多个服务,每个服务可以包含容器的名称、镜像、端口映射、依赖关系、环境变量、挂载点等配置参数
    • 服务
    • 容器

Docker-compose部署

##Docker Compose 是 Docker 的独立产品,因此需要安装 Docker 之后在单独安装 Docker Compose##下载
curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose##安装
chmod +x /opt/docker-composemv /opt/docker-compose /usr/local/bin/docker-compose##查看版本
docker-compose --version
##能查看到则,安装成功

在这里插入图片描述

YAML文件格式和编写注意事项

注意

YAML 是一种标记语言,它可以很直观的展示数据序列化格式,可读性高。类似于 json 数据描述语言,语法比 json 简单的很多。YAML 数据结构通过缩进来表示,
连续的项目通过减号来表示,
键值对用冒号分隔,
数组用中括号 [] 括起来, 
hash 用花括号 {} 括起来。
使用 YAML 时需要注意下面事项:大小写敏感通过缩进表示层级关系不支持制表符 tab 键缩进,只能使用空格缩进缩进的空格数目不重要,只要相同层级左对齐,通常开头缩进2个空格用 # 号注释符号字符后缩进1个空格,如冒号 :  、逗号 ,  、横杠 - 如果包含特殊字符用单引号('')引起来会作为普通字符串处理,
双引号(""): 特殊字符作为本身想表示的意思

数据结构

对象映射

对象映射: 键值对的字典
animal: dogs

序列属组

序列属组: 一组按次序排列的列表##竖列表
pets:
- Cat
- Dog
- Pig##横列表
pets: ["cat", "dog", "pig"]

布尔值

##布尔值debug: true
debug: false

序列的映射

##序列的映射pets:-  Cat-  Dog-  Pig

映射的映射

##映射的映射websetting:cpu: 2memory: 1024Mswap: 2048Mdisk: 60G

JSON格式

##JSON格式{pets: ["cat","dog","pig"],websetting: {cpu: ['2'],memory: ['1024M'],disk: ['60G']}
}

文本换行

# 注意“|”与文本之间须另起一行
# 使用|标注的文本内容缩进表示的块,可以保留块中已有的回车换行value: |helloworld!# 输出结果
# hello 换行 world!!
# 注意“>”与文本之间的空格
# 使用>标注的文本内容缩进表示的块,将块中回车替换为空格最终连接成一行value: > hello
world!# 输出结果
# hello 空格 world!

锚点和引用

# 复制代码注意*引用部分不能追加内容
# 使用&定义数据锚点,即要复制的数据
# 使用*引用锚点数据,即数据的复制目的地name: &a yaml
book: *a
books:- java- *a- python# 输出结果
book: yaml
books:[java, yaml, python]

Docker compose配置常用字段

字段描述
build指定 Dockerfile 文件名,
要指定Dockerfile文件需要在build标签的子级标签中使用dockerfile标签指定
dockerfile构建镜像的目录下的文件
context可以是 dockerfile 的路径,或者是指向 git 仓库的 url 地址
image指定镜像
command执行命令,覆盖容器启动后默认执行的命令
container_name指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale指定容器数量
deploy指定部署和运行服务相关配置,只能在 Swarm 模式使用
environment添加环境变量
networks加入网络,引用顶级networks下条目
network_mode设置容器的网络模式,如 host,bridge,…
ports暴露容器端口,与 -p 相同,但端口不能低于 60
volumes挂载一个宿主机目录或命令卷到容器,命名卷要在顶级 volumes 定义卷名称
volumes_from从另一个服务或容器挂载卷,可选参数 :ro 和 :rw,仅版本 ‘2’ 支持
hostname容器主机名
sysctls在容器内设置内核参数
links连接到另外一个容器,- 服务名称[:服务别名]
privileged用来给容器root权限,注意是不安全的,true
restart设置重启策略,no,always,no-failure,unless-stopped
no,默认策略,在容器退出时不重启容器。
on-failure,在容器非正常退出时(退出状态非0),才会重启容器。
on-failure:3,在容器非正常退出时重启容器,最多重启3次。
always,在容器退出时总是重启容器。
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器。
depends_on在使用Compose时,最大的好处就是少打启动命令,但一般项目容器启动的顺序是有要求的,如果直接从上到下启动容器,可能会因为容器依赖问题而启动失败。例如在没启动数据库容器的时候启动应用容器,应用容器会因为找不到数据库而退出。depends_on标签用于解决容器的依赖、启动先后的问题。
php:
depends_on:
- apache
- mysql
Dockercompose字段相对的docker run命令
image镜像:标签
command启动命令
container_name–name
environment–env
networks
network_mode
–network
ports-p
volumes-v
volumes_from–volumes-from
hostname-h
sysctls-sysctl
links–link
privileged–privileged
restart–restart

docker compose常用命令

字段描述
build重新构建服务
ps列出容器
up创建和启动容器
-d 后台启动
exec在容器里面执行命令
scale指定一个服务容器启动数量
top显示容器进程
logs查看容器输出
down删除容器、网络、数据卷和镜像
stop/start/restart停止/启动/重启服务

Docker Compose 文件结构

/opt/compose_nginx/
├── docker-compose.yml				#创建模板脚本
├── nginx
│?? ├── Dockerfile					#创建容器脚本
│?? ├── nginx-1.12.0.tar.gz			#复制源码包
│?? └── run.sh						#启动服务脚本
└── wwwroot└── index.html					#站点网页

docker compose部署apache

mkdir -p /usr/local/compose/docker-compose-apachecd /usr/local/compose/docker-compose-apachevim docker-compose.yml
version: '3'services:apache:image: httpd:latestcontainer_name: httpd-gglports:-  1314:80volumes:-  ./html:/usr/local/apache2/htdocsnetworks:lamp:ipv4_address: 172.20.0.10networks:lamp:driver: bridgeipam:config:-  subnet: 172.20.0.0/16

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

docker compose 部署LNMP

mkdir /usr/local/compose/docker-compose-lnmp/cd /usr/local/compose/docker-compose-lnmp/##在目录中准备  Dockerfile 创建LNMP的相关的文件vim docker-compose.yml
version: '3'services:nginx:build:context: ./nginxdockerfile: Dockerfilecontainer_name: nginxports:-  80:80volumes:-  ./nginx/html:/usr/local/nginx/htmlnetworks:lnmp:ipv4_address: 172.18.0.10mysql:image: mysql:centos7container_name: mysqlports:-  3306:3306volumes:-  db-data:/usr/local/mysqlnetworks:lnmp:ipv4_address: 172.18.0.20php:image: php:centos7container_name: phpports:-  9000:9000volumes:-  db-data:/usr/local/mysql-  ./nginx/html:/usr/local/nginx/htmlnetworks:lnmp:ipv4_address: 172.18.0.30depends_on:-  nginx-  mysqlnetworks:lnmp:driver: bridgeipam:config:-  subnet: 172.18.0.0/16volumes:db-data:
##运行docker-compose##在   docker-compose.yml   的文件的目录中运行docker-compose up -ddocker-compose ps

在这里插入图片描述
在这里插入图片描述

##验证数据库是否连接成功vim /usr/local/compose/docker-compose-lnmp/nginx/html/index.php<?php
$link=mysqli_connect('192.168.242.66','admin','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>

在这里插入图片描述

##进入到容器中docker exec -it mysql bash##修改mysql 的登录密码mysqladmin -u root -p password "123"mysql -uroot -p123create database word;
#创建一个数据库grant all ON word.* to 'admin'@'%' identified by 'admin123';#把数据库里面所有表的权限授予给admin,并设置密码admin123flush privileges;
#刷新数据库

在这里插入图片描述

http://www.hengruixuexiao.com/news/31521.html

相关文章:

  • 网站建设及管理使用情况汇报wordpress自助建站
  • 简单的网站设计模板下载seo小白入门
  • 杭州建站公司收录优美图片官网
  • 网站推广的效果小程序制作费用一览表
  • 太原市住房与建设委员会网站百度软件中心下载
  • 建网站资料十大互联网广告公司
  • 大连免费网站制作计算机培训机构排名前十
  • 肖云路那有做网站公司免费推广网站大全下载安装
  • 网站开发实操记录哈尔滨企业网站seo
  • 自动搭建网站源码百度广告联盟价格
  • 把手机做网站服务器百度一下知道官网
  • 网站开发包括中国十大外贸平台
  • 广州做网站mxszpt私人做网站建设
  • java做的网站怎么突破广州百度推广客服电话多少
  • 网站建设与运营课程软文网站发布平台
  • crm系统操作流程二十条优化措施
  • 怎么做网站代理商长春百度推广公司
  • 单页面网站复制江门seo推广公司
  • 门户网站的区别东莞seo建站咨询
  • 辽阳哪里做网站南阳seo
  • 房产网手机版网站建设目标百度账号中心
  • 网站用户体现好坏最近时政热点新闻
  • 十佳网站陕西网站制作
  • 在别人网站挂黑链湖北seo关键词排名优化软件
  • 做ps从哪个网站上下载图片大小网上教育培训机构
  • wordpress 文章导出seo网站排名优化公司哪家
  • wordpress微博图床怎么用百度有专做优化的没
  • siteserver cms网站访问量seo专员是干什么的
  • 怎么建设网站模板上传免费建自己的网址
  • 有哪些网站免费做推广排名