1661295960
Docker Compose Templates
Stacker is a simple tool for defining application environments, aka stacks. Each stack is optimized for development and for production use as well. Stacker is built on top of Docker and Docker Compose as an abstraction layer. The main paradigm followed in designing Stacker was convention over configuration.
Requirements:
node 6+
,docker 17+
,docker-compose 1.10+
. Tested succesfully on Mac OS and Ubuntu.
Install the CLI app globally using NPM.
# install stacker
npm install -g stacker-cli
# make sure it's working
stacker --version
Before going further, make sure you cd
into the root path of your project (cd ~/Projects/test-project
).
Generate the stacker.yaml
file
$ stacker init
If your project already has a stacker.yaml
file, this step is not required.
Setup the project on your local machine
$ stacker link
This will do several things
127.20.17.1
)/etc/hosts
Build and start your application
$ stacker up
After this you will be able to reach your application using the domain name you choose previously. (eg. test-project.dev
)
Is your stack missing? Please open an issue and we'll take care of it. Since we're not experts in all stacks, your input and guidance will be helpful to make a top notch stack. For the moment, we will keep all the stacks inside the official repos just to make sure they all follow best practices.
Here is a list of the stacks we want to add with your help: Symfony, Ruby on Rails, Django, Meteor, Play, Ghost. If you have other stacks in mind just let us know.
For full CLI reference, checkout the DOCUMENTATION.md file.
MIT @ Stacker
Author: stacker
Source code: https://github.com/stacker/stacker-cli
License: MIT license
#docker #javascript
1595249460
Following the second video about Docker basics, in this video, I explain Docker architecture and explain the different building blocks of the docker engine; docker client, API, Docker Daemon. I also explain what a docker registry is and I finish the video with a demo explaining and illustrating how to use Docker hub
In this video lesson you will learn:
#docker #docker hub #docker host #docker engine #docker architecture #api
1625975580
Docker Compose is a great tool from Docker, it is used by millions to deploy and manage multi-containers applications. Docker Compose is basically 2 things:
Anca Iordache from Docker, explains the move to the Compose Spec into the open and how she has started to develop a kube backend for the Compose CLI as a side project:
“The Compose format is very popular among developers due to its simplicity and there was always a lot of interest in having tools to deploy Compose files on platforms other than a single Docker Engine or Swarm. To make Compose go beyond Docker and Swarm, early in 2020, we opened the Compose specification to enable anybody to build tools around it. We used the new open specification and reference libraries to build support for Amazon ECS and Microsoft ACI into the Docker CLI for deploying Compose apps on these platforms. An obvious next target was Kubernetes as it is highly popular and there is a lot of interest in deploying Compose apps onto it. We wrote an initial proof of concept to test this integration but it hasn’t been added to Docker’s product roadmap yet. I have picked it up as my hack project to continue making progress with this integration. The current code for the Kubernetes backend can be found in the public repository docker/compose-cli and everybody is welcome to contribute to it.”
#kubernetes #docker #docker-compose #compose cli
1615008840
In my previous blog post, I have explained in detail how you can Install Docker and Docker-compose on Ubuntu
In this guide, I have explained the Top 24 Docker Commands with examples.
Make sure you have sudo or root privileges to the system.
#docker #docker-command #containers #docker-compose #docker-image
1596766140
Docker позволяет легко помещать приложения и службы в контейнеры, чтобы их можно было запускать где угодно. Однако при работе с Docker можно легко накопить чрезмерное количество неиспользуемых образов, контейнеров и томов данных, замедляющих работу и потребляющих место на диске.
Docker предоставляет все необходимые инструменты для очистки системы из командной строки. В этом руководстве с полезными советами кратко описываются полезные команды для освобождения места на диске и организации системы посредством удаления неиспользуемых образов, контейнеров и томов Docker.
Использование этого руководства:
Синтаксис замены команды command
$(``command``)
, используемый в командах, доступен во многих популярных оболочках, включая bash, zsh и Windows Powershell.
В Docker имеется команда, очищающая все не связанные с контейнерами ресурсы, в том числе образы, контейнеры, тома и сети:
docker system prune
Чтобы удалить все остановленные контейнеры и неиспользуемые образы (а не только образы, не связанные с контейнерами), добавьте в эту команду флаг -a
:
docker system prune -a
Используйте команду docker images
с флагом -a
, чтобы найти идентификатор удаляемых образов. Эта команда покажет вам все образы, включая промежуточные слои образов. Когда вы определитесь с составом удаляемых образов, вы можете передать их идентификаторы или теги в docker rmi
:
Список:
docker images -a
Удаление:
docker rmi Image Image
Образы Docker состоят из нескольких слоев. Несвязанные образы — это слои, не имеющие связей с каким-либо образами с тегами. У них нет никакого назначения, и они просто занимают место на диске. Их можно найти, добавив флаг фильтра -f
со значением dangling=true
в команду docker images
. Если вы уверены, что хотите удалить их, вы можете использовать команду docker images purge
:
#drupal #docker #docker compose #docker images
1600358785
In this blog, we will learn what is docker-compose and how we can deploy a tomcat application which uses mysql database. We will learn how we can setup a development environment using docker-compose in a single command
Prerequisite:
INTRODUCTION
docker-compose up
to start your applicationdocker-compose down
to clean up all the docker containersLet’s take an example here:
We have a project called user registration which uses mysql for storing the data . In terms of microservices, we can say that we have two services as shown below:
You can clone this git repo and try the below example
Explanation of docker-compose
3. web: This is our service name -> using image, ports and volumes
4. **volumes: **To store the database files
Now we will create main docker-compose
file which will together launch a tomcat, mysql and phpmyadmin container
Tomcat container — To run your application
**Database container **— To store the data
PhpMyAdmin — Access the database through GUI
So we will have three services
docker-compose down
all your data will retain. If you use the volume then all data will get lost if you run the docker-compose down
Also, we are importing sql file so that our database is ready with the sample data. It is good so that each developer will always have the base or the actual data to run their application on the local machine
2. phpmyadmin — which is used to access the database through GUI and it depends on service db
3. web — which is used to access your web application and it also depends on service db
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- /opt/test:/var/lib/mysql
- ./mysql-dump:/docker-entrypoint-initdb.d
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: testdb1
MYSQL_USER: testuser
MYSQL_PASSWORD: root
ports:
- 3306:3306
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
ports:
- '8081:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: root
web:
depends_on:
- db
image: tomcat
volumes:
- ./target/LoginWebApp-1.war:/usr/local/tomcat/webapps/LoginWebApp-1.war
ports:
- '8082:8080'
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: testdb1
MYSQL_USER: testuser
MYSQL_PASSWORD: root
#docker-compose #docker-image #docker