Skip to content

Instantly share code, notes, and snippets.

@aonurdemir
Last active October 12, 2020 19:44
Show Gist options
  • Save aonurdemir/65cec22df0cbf0eba671eaaade8d8166 to your computer and use it in GitHub Desktop.
Save aonurdemir/65cec22df0cbf0eba671eaaade8d8166 to your computer and use it in GitHub Desktop.
Run docker services locally

Docker Commands

Redis

$ docker volume create redis_data
$ docker run -d --mount source=redis_data,target=/data -p 6379:6379 redis redis-server

MySQL

$ docker run -d -p 3306:3306 -e MYSQL_DATABASE=homestead -e MYSQL_ROOT_PASSWORD=password -e MYSQL_USER=homestead -e MYSQL_PASSWORD=password mysql:5.7.22

if you want create with persisten volume use this

$ docker volume create mysql_data
$ docker run -d -p 3306:3306 --name mysql --mount source=mysql_data,target=/var/lib/mysql -e MYSQL_DATABASE=homestead -e MYSQL_ROOT_PASSWORD=password -e MYSQL_USER=homestead -e MYSQL_PASSWORD=password mysql:5.7.22

Elasticsearch & Kibana

You should wait to initialize servers. Be patient!

Local Elasticsearch and Kibana

$ docker volume create elasticsearch_data
$ docker run -d --rm --name elasticsearch --mount source=elasticsearch_data,target=/var/data/elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.0.0  
$ docker run -d --rm --name kibana-dev -p 5601:5601 --link elasticsearch:elasticsearch -e "ELASTICSEARCH_URL=http://elasticsearch:9200" docker.elastic.co/kibana/kibana:6.0.0

Then access elastic search and kibana as below:

# elastic search
$ curl "http://localhost:9200/_count"
# kibana
$ curl http://localhost:5601 --location

Connect Your Local Kibana to Remote Elasticsearch Service

Adjust your kibana version with respect to elasticsearch version

$ ssh -L 9201:<REMOTE_URL>:443 -f <USER_NAME>@<SSH_HOST> -NnT -i <KEY_FILE.PEM>

$ docker run -d --rm --name kibana-dev -p 5602:5601 -e "ELASTICSEARCH_URL=http://localhost:9201" docker.elastic.co/kibana/kibana:6.5.0
#Environment variables may change with respect to kibana version used. Like:
docker run --rm --name kibana-dev2 -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://1.2.3.4:9200" docker.elastic.co/kibana/kibana:7.2.0

Connect to Remote Elasticsearch and Kibana via Tunnel

$ ssh -L 5603:<REMOTE_URL>:443 -f <USER_NAME>@<SSH_HOST> -NnT -i <KEY_FILE.PEM>

Then open kibana on the browser by going to https://localhost:5603/_plugin/kibana/

Run a Command Using Docker Container

$ docker run -v "$PWD":/usr/src/app -w /usr/src/app node:10.16-alpine npm install
#for windows
$ docker run -v "%cd%":/usr/src/app -w /usr/src/app node:10.16-alpine npm install
or
$ docker run -v ${pwd}:/usr/src/app -w /usr/src/app node:10.16-alpine npm install

Connect running container via bash shell

$ docker exec -i -t <container_name> /bin/bash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment