docker-compose 部署示例

文章目录

docker-compose文件格式

这个软件的实际很小,只是根据配置文件产生一些docker命令来执行可以。

配置文件本身是yml的格式,如下

复制代码
version: '3.5'

services:
    # Etherpad: real-time collaborative document editing
    etherpad:
        image: etherpad/etherpad:1.8.6
        restart: ${RESTART_POLICY:-unless-stopped}
        environment:
            - TITLE=${ETHERPAD_TITLE}
            - DEFAULT_PAD_TEXT=${ETHERPAD_DEFAULT_PAD_TEXT}
            - SKIN_NAME=${ETHERPAD_SKIN_NAME}
            - SKIN_VARIANTS=${ETHERPAD_SKIN_VARIANTS}
            - SUPPRESS_ERRORS_IN_PAD_TEXT=true
        networks:
            meet.jitsi:
                aliases:
                    - etherpad.meet.jitsi
    jibri:
        image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable-8960-1}
        restart: ${RESTART_POLICY:-unless-stopped}
        volumes:
            - ${CONFIG}/jibri:/config:Z
        shm_size: '2gb'
        cap_add:
            - SYS_ADMIN
        environment:
            - AUTOSCALER_SIDECAR_KEY_FILE
            - AUTOSCALER_SIDECAR_KEY_ID
            - AUTOSCALER_SIDECAR_GROUP_NAME
            - AUTOSCALER_SIDECAR_HOST_ID
            - AUTOSCALER_SIDECAR_INSTANCE_ID
            - AUTOSCALER_SIDECAR_PORT
            - AUTOSCALER_SIDECAR_REGION
            - AUTOSCALER_SIDECAR_SHUTDOWN_POLLING_INTERVAL
            - AUTOSCALER_SIDECAR_STATS_POLLING_INTERVAL
            - AUTOSCALER_URL
            - CHROMIUM_FLAGS
            - DISPLAY=:0
            - ENABLE_STATS_D
            - JIBRI_WEBHOOK_SUBSCRIBERS
            - JIBRI_HTTP_API_EXTERNAL_PORT
            - JIBRI_HTTP_API_INTERNAL_PORT
            - JIBRI_RECORDING_RESOLUTION
            - JIBRI_RECORDING_VIDEO_ENCODE_PRESET
            - JIBRI_RECORDING_CONSTANT_RATE_FACTOR
            - JIBRI_RECORDING_FRAMERATE
            - JIBRI_RECORDING_QUEUE_SIZE
            - JIBRI_RECORDING_STREAMING_MAX_BITRATE
            - JIBRI_USAGE_TIMEOUT
            - JIBRI_XMPP_USER
            - JIBRI_XMPP_PASSWORD
            - JIBRI_BREWERY_MUC
            - JIBRI_RECORDER_USER
            - JIBRI_RECORDER_PASSWORD
            - JIBRI_RECORDING_DIR
            - JIBRI_FINALIZE_RECORDING_SCRIPT_PATH
            - JIBRI_STRIP_DOMAIN_JID
            - JIBRI_STATSD_HOST
            - JIBRI_STATSD_PORT
            - LOCAL_ADDRESS
            - PUBLIC_URL
            - TZ
            - XMPP_AUTH_DOMAIN
            - XMPP_DOMAIN
            - XMPP_INTERNAL_MUC_DOMAIN
            - XMPP_MUC_DOMAIN
            - XMPP_RECORDER_DOMAIN
            - XMPP_SERVER
            - XMPP_PORT
            - XMPP_TRUST_ALL_CERTS
        depends_on:
            - jicofo
        networks:
            meet.jitsi:
 networks:
            meet.jitsi:

docker-compose 下载

```curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s-uname -m` -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

或者在公司网站下载

curl 'http://pan.itshine.cn:5080/?explorer/share/fileOut\&shareID=64h6PiQQ\&path={shareItemLink%3A64h6PiQQ}%2Fdocker-compose-yms%2Fdocker-compose' > './docker-compose'

mv docker-compose /usr/bin

chmod +x /usr/bin/docker-compose

复制代码
# 常用命令
docker-compose -f my.yml -f m1.yml -f m2.yml  up -d 
my.yml是编排文件,如果不写 -f my.yml那么,直接读docker-compose.yml,如果此文件也不存在,报错。

up : 创建容器并启动,如果容器存在,则直接启动
-d: 后台启动

down: 关闭容器并删除
stop: 关闭容器不删除容器

start:

> docker-compose up -d 

# nextcloud 

下面是一个示例的docker-compose文件,用于实现Nextcloud Talk功能:

yaml 复制代码
version: '3'
services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=your_mysql_root_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=1qaz!QAZ
    volumes:
      - nextcloud_db:/var/lib/mysql

  app:
    image: nextcloud:latest
    restart: always
    ports:
      - 8080:80
    volumes:
      - nextcloud_data:/var/www/html
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=1qaz!QAZ

volumes:
  nextcloud_db:
  nextcloud_data:

请替换以下内容以适应您的环境:

  • your_mysql_root_password:您的MySQL根密码。
  • your_nextcloud_db_password:用于Nextcloud数据库的密码。

请将上述内容保存为docker-compose.yml文件,并确保已经安装了Docker和Docker Compose。在包含docker-compose.yml文件的目录中,运行以下命令启动Nextcloud:

复制代码
docker-compose up -d

这将启动MySQL和Nextcloud容器,并将它们连接在一起。然后,您可以通过访问http://localhost:8080来访问Nextcloud界面。您可以按照Nextcloud的文档进行初始设置,并在应用商店中安装和配置Nextcloud Talk插件以启用Talk功能。

请注意,这只是一个示例的docker-compose文件,具体的安装步骤可能因为不同的Nextcloud版本而有所不同。请根据您所选择的具体Nextcloud版本的安装文档进行相应的配置。

复制代码
# docker-compose help
[ https://docs.docker.com/engine/reference/commandline/ ]
相关推荐
发愤图强的羔羊13 分钟前
Docker 搭建 SVN 服务器
docker
为了摸鱼而战18 分钟前
Dockerfile知识点梳理,你要搞懂的都在这
docker
Clownseven1 小时前
Docker+Nginx+Node.js实战教程:从零搭建高可用的前后端分离项目
nginx·docker·node.js
zxcxylong1 小时前
almalinux9.6系统:k8s可选组件安装(1)
云原生·容器·kubernetes·metrics·almalinux·hpa·vpa
MANONGMN14 小时前
Kubernetes(K8s)常用命令全解析:从基础到进阶
云原生·容器·kubernetes
__lll_1 天前
手把手教你用 Docker 部署 Vue 项目(含国内镜像加速 + 踩坑指南)
docker
科大饭桶1 天前
C++入门自学Day11-- String, Vector, List 复习
c语言·开发语言·数据结构·c++·容器
程思扬1 天前
Nextcloud容器化部署革新:Docker+Cpolar构建高效私有云远程访问新架构
docker·容器·架构
豆芽脚脚1 天前
docker compose再阿里云上无法使用的问题
阿里云·docker·容器
十行代码九行报错1 天前
Docker基础学习笔记
笔记·学习·docker