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/ ]
相关推荐
礼拜天没时间.7 小时前
深入Docker架构——C/S模式解析
linux·docker·容器·架构·centos
猫头虎7 小时前
如何使用Docker部署OpenClaw汉化中文版?
运维·人工智能·docker·容器·langchain·开源·aigc
会周易的程序员7 小时前
openplc runtimev4 Docker 部署
运维·c++·物联网·docker·容器·软件工程·iot
小Pawn爷7 小时前
1.Docker基础
运维·docker·容器
chinesegf7 小时前
清理docker残留镜像images
运维·docker·容器
小Pawn爷8 小时前
2.Docker的存储
运维·docker·容器
广州中轴线8 小时前
OpenStack on Kubernetes 生产部署实战(十七)
容器·kubernetes·openstack
礼拜天没时间.9 小时前
自定义镜像制作——从Dockerfile到镜像
linux·docker·容器·centos·bash
岁岁种桃花儿9 小时前
注册中心宕机后,RPC调用还能成功吗?主流框架实测级分析
zookeeper·eureka·rpc
luffy54599 小时前
windows下通过docker-desktop创建redis实例
windows·redis·docker·容器