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/ ]
相关推荐
青 春 记 忆8 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
Java王小怪9 小时前
Docker环境Redis没挂载保存数据
运维·docker·容器
AKCJDJ11 小时前
k8s的管理及控制器管理
云原生·容器·kubernetes
灰阳阳11 小时前
Docker-数据卷命令解析
java·docker·eureka
SCandL15211 小时前
k8s service
linux·容器·kubernetes
zhangfeng113312 小时前
AMD Instinct MI50(gfx906)上为 Qwen 系列模型优化并可用的 vLLM 相关仓库、Docker 镜像与实践指南。
人工智能·docker·ai编程·qwen·算子开发·vllm·mi50
aaaBsBsBsB13 小时前
k8s pod管理
运维·docker·容器
Doep_key15 小时前
Kubenetes控制器
运维·docker·容器
梦想不只是梦与想17 小时前
Docker Compose文件
docker·容器·docker compose
小周学学学18 小时前
vmware-horizon第四章:事件数据库配置(docker)
运维·docker·容器