docker-compose casos de uso
docker-compose
mariadb + adminer
- 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
sftp
- 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
portainer
- 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
mysql
- 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
PHP + MARIADB (FIDMAG)
start
docker-compose -d up
files
- 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