美文网首页
码头工人如何压妹儿?

码头工人如何压妹儿?

作者: 杨健kimyeung | 来源:发表于2020-07-23 19:30 被阅读0次

概要

容器编排,他是一个容器快速编排的技术

docker-compose.yml

  • 项目 包含多个服务
  • 在每个服务里可以定义容器运行的参数 配置文件等等
  • 一个容器可以设置开启多个实例

安装

使用二进制的文件安装

curl -L https://github.com/docker/compose/releases/download/1.23.0-rc2/run.sh > /usr/local/bin/docker-compose
# 授权可执行文件
chmod +x /usr/local/bin/docker-compose

使用pip安装

pip install  docker-compose

检测安装是否成功

docker-compose  version

yml语法 (压妹儿语法)

YAML 一个中非标记语言,相比传统的配置文件更加简洁,可读行更强

  • xml

  • properties

  • json

  • yml

基础语法

key:[空格]value

  • 可以是基本类型
  • 对象类型 map
  • 数组
username: 小王
age: 18

docker-compose 基础指令

version

指定docker-compose的版本

栗子

version: "3"
# version: "3.7"

services

声明一组服务

image

指定基础镜像

栗子

# 声明docker-compose的版本
version: 3
# 声明一组服务
services:
# 服务的名称
  nginx:
    # 从远程仓库下载现成的镜像
    image: nginx

build

从dockerfile中构建镜像

栗子

# 声明docker-compose的版本
version: 3
# 声明一组服务
services:
  app:
    # 通过dockerfile构建镜像
    build: ./docker/

子属性

  • context 指定dockerfile的路径
  • dockerfile 指定的dockerfile的名字

说明

如果是dockerfile文件命令是dockerfile可以省略不写

ports

映射一组端口 值的类型是一个数组

栗子

# 声明docker-compose的版本
version: 3
# 声明一组服务
services:
    build: ./docker/
    ports:
      # 映射一组端口端口
      - "8080:8080"
      - "9000:9000"

volumes

将容器中目录映射到宿主机的目录(保存数据)

  • 可以映射文件
  • 映射目录(防止目录的里原有的文件被覆盖的现象)
# 声明docker-compose的版本
version: 3
# 声明一组服务
services:
  mysql:
    # mysql的数据 保存在宿主机
    image: mysql
    volumes:
      - ./data/:/var/lib/mysql
      - ./logs/:/var/log/mysql

COMMAND

设置容器运行的参数

语法格式

    command:
      #  防止低版本的连接客服报错的问题
      --default-authentication-plugin=mysql_native_password
      # 设置数据库的编码
      --character-set-server=utf8mb4
      # 设置数据库默认的排序方式
      --collation-server=utf8mb4_general_ci
      # 解决低版本不允许时间字段 not null
      --explicit_defaults_for_timestamp=true
      # Linux  表名区分大小写   1 表示不区分大小写
      --lower_case_table_names=1

environment

设置某些特定的容器的环境变量

栗子

    environment:
      # 第一个连接数据URL的时候指定时区
      # 第二个 创建数据库的指定时区
      TZ: Asia/Shanghai
      #  注意  在开发中不要使用root用户去连接数据库 安全考虑
      MYSQL_ROOT_PASSWORD: root
      MYSQL_USER: hello
      MYSQL_PASSWORD: world

运行docker-compose文件

docker-compose up -d

完整的代码

# 声明docker-compose的版本
version: "3"
# 声明一组服务
services:
  #
  nginx:
    # 从远程仓库下载现成的镜像
    image: nginx
  # 容器 自定义镜像
  app:
    #  通过dockerfile构建镜像
    build: ./app/
    # 等价于
    #  context: ./app/
    #  dockerfile: Dockerfile
    ports:
      # run -p  映射端口
      - "8080:8080"
      - "9000:9000"
  mysql:
    # mysql 数据 保存在宿主机
    #  数据卷  -v
    image: mysql
    volumes:
      - ./data/:/var/lib/mysql
      - ./logs/:/var/log/mysql
    command:
      #  防止低版本的连接客服报错的问题
      --default-authentication-plugin=mysql_native_password
      # 设置数据库的编码
      --character-set-server=utf8mb4
      # 设置数据库默认的排序方式
      --collation-server=utf8mb4_general_ci
      # 解决低版本不允许时间字段 not null
      --explicit_defaults_for_timestamp=true
      # Linux  表名区分大小写   1 表示不区分大小写
      --lower_case_table_names=1
    environment:
      # 第一个连接数据URL的时候指定时区
      # 第二个 创建数据库的指定时区
      TZ: Asia/Shanghai
      #  注意  在开发中不要使用root用户去连接数据库 安全考虑
      MYSQL_ROOT_PASSWORD: root
      MYSQL_USER: hello
      MYSQL_PASSWORD: world

相关文章

  • 码头工人如何压妹儿?

    概要 容器编排,他是一个容器快速编排的技术docker-compose.yml项目 包含多个服务在每个服务里可以定...

  • 妹儿

    妹儿是捡来的女孩。 80年代初期,农村是非常落后的,有的地方还需要论工分记账,或许还是公有土地,集体生产的那种。 ...

  • 妹儿

    昨晚差点失去了我妹~~ 她最近在大凉山里摘石榴,昨天下午她和果园老板一路开车从大凉山回我们县城,山路崎岖,大半夜了...

  • 论YY带给人的快感到底有多强?

    一个朋友的朋友,外号叫做陈妖妹儿的,当然我得叫她陈妖姐。没看错,就是妖妹儿,不是幺妹儿。因为该妖妹儿确实是妖。 八...

  • 史上最全设计师学习指南来啦(快收藏)

    整理 | U妹 出品 | UI妹儿 (你可搜索微信公众号“UI妹儿”进行关注 ID:UIfaner) 本文...

  • 顺江村(前)

    “清早起来嘛哥哎,去上梁嘛妹儿哟,摘片树叶儿玩耍,叫叫吹响响,花花扇儿摇;情妹儿听到嘛哥哎,树叶儿响嘛妹儿哟,假装...

  • 三妹儿。

    作者:奕畅【原创作品】 01 不知是什么时候,母亲告诉我还有一个妹妹,给别人家里抱养走了。我的脑海里经常会出现她的...

  • 三妹儿

    作者:奕畅【原创作品】 01 这天晚上坐在我家的土炕上,我偷偷把自己的想法告诉了几个妹妹。我要去找三妹。首先,二妹...

  • 撩妹儿

    -《钗头凤•世情薄》- 宋·唐婉 世情薄,人情恶,雨送黄昏花易落。 晓风干,泪痕残。 欲笺心事,独语斜阑。 难,难...

  • 初夏妹儿

    初夏妹儿 希望没吓着你,其实

网友评论

      本文标题:码头工人如何压妹儿?

      本文链接:https://www.haomeiwen.com/subject/brtklktx.html