docker-compose casos de uso

docker-compose

docker-compose.yml
version: '3.9'

services:
  db:
    image: mariadb
    ports:
      - "3306:3306"
    volumes:
      - ./data/db:/var/lib/mysql
    env_file:
      - db.env
    container_name: mariadb

  adminer:
    image: adminer
    restart: unless-stopped
    ports:
      - 8080:8080 
db.env
MYSQL_ROOT_PASSWORD=toor
MYSQL_USER=user
MYSQL_PASSWORD=password
MYSQL_DATABASE=test        
  • mapea en la carpeta home del usuario especificado (no se puede sustituir el $HOME)
  • permite mapear varios usuarios
  • permite encriptación de contraseñas
  • permite certificados
docker-compose.yml
sftp:
    image: atmoz/sftp
    volumes:
        - ${PWD}/upload:/home/foo/upload
    ports:
        - "2222:22"
    command: foo:user123:1001
docker-compose.yml
version: '2'

services:
  portainer:
    image: portainer/portainer
    restart: always
    container_name: "portainer-app"
#    command: --templates http://templates/templates.json
    ports:
      - "9000:9000"
    networks:
      - local
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/data

networks:
  local:
    driver: bridge
docker-compose.yml
version: '3.6'

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    networks:
      mi-network:
        ipv4_address: 172.22.0.10
    ports:
      - 3306:3306

volumes:
  db_data:
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '${MYSQL_STORAGE_PATH}'

networks:
  # docker network create --attachable --subnet 172.22.0.0/24 mi-network
  mi-network:
    external: true

docker-compose -d up

Dockerfile
FROM php:7.2-apache
 
ENV APACHE_DOCUMENT_ROOT /var/www/intranet/www
 
RUN apt-get update -y \
    && apt-get install -y libpng-dev libwebp-dev libjpeg62-turbo-dev libxpm-dev \
    && docker-php-ext-install mysqli \
    && a2enmod rewrite \
    && rm -rf /var/lib/apt/lists/*
 
RUN docker-php-ext-configure gd \
    --with-gd \
    --with-webp-dir \
    --with-jpeg-dir \
    --with-png-dir \
    --with-xpm-dir \
    && docker-php-ext-install gd
 
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
 
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
 
CMD /usr/sbin/apache2ctl -D FOREGROUND
docker-compose.yml
version: '3.7'

services:
  app:
    build: .
    image: fidmag:7.2-php-apache
    ports:
      - "80:80"
    volumes:
      - /home/mtorrese/GIT/intranet_fidmag_org:/var/www/intranet
    depends_on:
      - "db"
    container_name: php

  db:
    image: mariadb
#    restart: always
    ports:
      - "3306:3306"
    volumes:
      - ./data/db:/var/lib/mysql
    env_file:
      - db.env
    container_name: db
db.env
MYSQL_ROOT_PASSWORD=toor
MYSQL_DATABASE=intranet-docker
MYSQL_USER=intranet-docker
MYSQL_PASSWORD=intranet-docker
  • tech/docker/docker-compose/casosuso.txt
  • Darrera modificació: 19/10/2024 08:48
  • per mate