Docker Compose与私有仓库

Docker Compose工具

Docker Compose概述
  • Docker Compose的前身是Fig,它是一个定义及运行多个Docker容器的工具。使用Docker Compose时,只需要在一个配置文件中定义多个Docker容器,然后使用一条命令启动这些容器。Docker Compse会通过解析容器间的依赖关系按先后顺序启动所定义的容器

  • Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个 YAML 文件来配置服务、网络和卷,用户可以一次性启动或停止整个应用的所有服务,简化了开发和部署流程

  • Docker Compose是一个容器编排工具,Docker容器编排是一种管理多个容器及其复杂部署、网络配置、存储卷以及服务发现的自动化技术。它确保容器能够在集群环境中高效、可靠地运行。其他编排技术还有:kubernetes与Swarm

Docker Compose的使用方式
  • 编写测试yaml
shell 复制代码
#编写文件 该文件创建一个以httpd为服务的容器
[root@localhost ~]# vim docker-compose.yaml
services:
  webapp:
    image: 'httpd:latest'
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/www/html:/usr/local/apache2/htdocs:rw"
  • Docker Compose常用命令
shell 复制代码
#前台运行
[root@localhost ~]# docker-compose up 
#后台运行
[root@localhost ~]# docker-compose up -d 
#列出运行容器
[root@localhost ~]# docker-compose ps 
#查看服务日志输出
[root@localhost ~]# docker-compose logs webapp
#打印绑定的公共端口
[root@localhost ~]# docker-compose port webapp 80
#停止已运行的服务的容器
[root@localhost ~]# docker-compose stop webapp
#启动指定服务已存在的容器
[root@localhost ~]# docker-compose start webapp
#删除指定服务的容器 需先关闭
[root@localhost ~]# docker-compose stop webapp
[root@localhost ~]# docker-compose rm webapp
#删除指定服务的容器 无需关闭
[root@localhost ~]# docker-compose kill webapp
#重新构建服务并启动
[root@localhost ~]# docker-compose up -d
[root@localhost ~]# docker-compose port webapp 80
#同时运行多个容器
[root@localhost ~]# docker-compose up --scale webapp=3 -d
#注:端口不可冲突,需将文件中的端口注释掉 
Docker Compose yml配置文件及常用指令简介
  • 不支持制表符tab键2缩减,需要使用空格缩进
  • 通常开头所缩进两个空格
  • 字符后缩进一个空格,如冒号、逗号、横杠
  • 用#号注释
  • 如果包含特殊字符,要使用单引号(")引起来
  • 布尔值(true、false、yes、no、off)必须使用引号括起来,这样分析器会将它们解释为字符串

Harbor私有仓库

Harbor概述
  • Harbor是VMware公司开源的企业级Docker Registry项目

  • Harbor的优势

    • 基于角色控制
    • 基于镜像的复制策略
    • 支持LDAP/AP
    • 图形删除和垃圾收集
    • 图形UI
    • 审计
    • RESTful API
  • 常用组件

    • Proxy

      • 通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务
    • Registry

      • 负责存储Docker镜像,并处理docker push/pull命令
    • Core services

      • Harbor的核心功能,包括UI、webhook、token服务
    • Database

      • 为core services提供数据库服务
    • Log collector

      • 负责收集其他组件的log,供日后进行分析
部署Harbor私有仓库
shell 复制代码
#解压tar包
[root@localhost ~]# tar zxvf harbor-offline-installer-v2.4.3.tgz
#配置harbor
[root@localhost ~]# cd harbor
[root@localhost ~]# cp harbor.yml.tmpl harbor.yml
[root@localhost ~]# vim harbor.yml
hostname: 192.168.10.106 #修改为当前节点ip
#将https相关配置注释掉
#运行安装脚本
[root@localhost ~]# ./install.sh
#使用浏览器访问Harbor
相关推荐
tf的测试笔记2 小时前
测试团队UI自动化实施方案
运维·自动化
TDD_06282 小时前
【运维】Centos硬盘满导致开机时处于加载状态无法开机解决办法
linux·运维·经验分享·centos
头孢头孢3 小时前
k8s常用总结
运维·后端·k8s
遇码3 小时前
单机快速部署开源、免费的分布式任务调度系统——DolphinScheduler
大数据·运维·分布式·开源·定时任务·dolphin·scheduler
爱编程的王小美3 小时前
Docker基础详解
运维·docker·容器
白夜易寒3 小时前
Docker学习之容器虚拟化与虚拟机的区别(day11)
学习·docker·容器
学习至死qaq4 小时前
windows字体在linux访问异常
linux·运维·服务器
IEVEl4 小时前
Centos7 安装 TDengine
运维·centos·时序数据库·tdengine
在野靡生.4 小时前
Ansible(4)—— Playbook
linux·运维·ansible
烨鹰5 小时前
戴尔电脑安装Ubuntu双系统
linux·运维·ubuntu