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/ ]
相关推荐
weixin_3993806910 分钟前
k8s+helm部署tongweb7云容器版(by lqw)
云原生·容器·kubernetes
深夜面包2 小时前
Ubuntu 安装与配置 Docker
linux·ubuntu·docker
斯普信专业组4 小时前
二进制和docker两种方式部署Apache pulsar(standalone)
docker·容器·apache
Michaelwubo4 小时前
docker 支持GPU 问题 安装 NVIDIA Docker
docker·容器·eureka
香吧香4 小时前
journalctl -u docker 查看日志
docker
超級二蓋茨5 小时前
局域网内Docker镜像共享方法
运维·docker·容器
❀͜͡傀儡师6 小时前
docker 安装TDengine 时序数据库
docker·时序数据库·tdengine
laimaxgg7 小时前
Docker Hub 创建私人镜像仓库
运维·服务器·docker·容器
烛.照1038 小时前
RabbitMQ消息的可靠性
linux·docker·rabbitmq
zfoo-framework8 小时前
【使用jenkins+docker自动化部署java项目】
docker