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
相关推荐
此生只爱蛋21 分钟前
【Linux】正/反向代理
linux·运维·服务器
qq_54702617928 分钟前
Linux 基础
linux·运维·arm开发
废春啊40 分钟前
前端工程化
运维·服务器·前端
我只会发热43 分钟前
Ubuntu 20.04.6 根目录扩容(图文详解)
linux·运维·ubuntu
爱潜水的小L1 小时前
自学嵌入式day34,ipc进程间通信
linux·运维·服务器
zhuzewennamoamtf1 小时前
Linux I2C设备驱动
linux·运维·服务器
TSAI1 小时前
Docker Swarm 集群部署 Eureka 服务注册中心:高可用微服务架构的基石
spring cloud·docker
不惑_1 小时前
Windows 安装 Docker 和 Docker Compose 完整教程
windows·docker·容器
梅尔文.古2 小时前
RaspberryPi-如何启用看门狗
linux·运维·服务器
木子欢儿2 小时前
Ubuntu 24 安装 fcitx5 + rime + 雾凇配置
linux·运维·服务器·ubuntu