https://github.com/jojoarianto/docker-for-local-development
Cheatsheet and explanation how to use docker for local development
https://github.com/jojoarianto/docker-for-local-development
database docker
Last synced: about 2 months ago
JSON representation
Cheatsheet and explanation how to use docker for local development
- Host: GitHub
- URL: https://github.com/jojoarianto/docker-for-local-development
- Owner: jojoarianto
- Created: 2020-01-07T18:44:13.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-29T12:37:10.000Z (over 6 years ago)
- Last Synced: 2025-01-11T10:51:57.179Z (over 1 year ago)
- Topics: database, docker
- Size: 16.6 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Docker for local development
Cheatsheet and explanation how to use docker for local development

[Docker for development - Run mysql, postgres, mongodb, redis with docker (Bahasa)](https://www.youtube.com/watch?v=yP4OHzpKjAU)
## Goal :
- Know how to use docker for local development purpose
## Inspired by :
- [Hackernoon - Dont install postgres docker pull postgres](https://hackernoon.com/dont-install-postgres-docker-pull-postgres-bee20e200198).
## Todo :
- Mysql
- Postgresql
- Mongodb
- Redis
## Docker command cheatsheet
### Docker container
- ```docker ps```
to see docker container (running container only)
- ```docker ps -a```
to see docker container (running + non active)
- ```docker stop container_id```
to stop running container
- ```docker kill container_id```
to stop & remove running container
### Docker images
- ```docker images```
to see list docker images
### Docker volume
- ```docker volume ls```
to see list docker volume
- ```docker volume create volume_name```
to create docker volume
## Flags explaination
- -d : run on background
- --rm : clean up container after stop
- -v : volume
- -p : port forwarding
- -e : docker environment variable
# Script
Cheatsheet
### Mysql
mysql version 5.7
```bash
docker run --rm \
--name local_mysql \
-v mysql_data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=secret \
-p 3306:3306 \
-d mysql:5.7
```
or in oneline command
```
docker run --rm --name local_mysql -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret -p 3306:3306 -d mysql
```
to stop container run
```
docker stop local_mysql
```
connect with db url
```
mysql://root:secret@127.0.0.1
```
Official Images : https://hub.docker.com/_/mysql
### Postgresql
```
docker run --rm \
--name local_postgres \
-e POSTGRES_USER=root \
-e POSTGRES_PASSWORD=secret \
-p 5432:5432 \
-v postgres_data:/var/lib/postgresql \
-d postgres
```
connect with db url
```
postgresql://root:secret@127.0.0.1
```
Official images of postgresql : https://hub.docker.com/_/postgres
### Mongodb
```
docker run --rm \
--name local_mongodb \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=secret \
-p 27017:27017 \
-v mongodb_data:/data/db \
-d mongo
```
connect with db url
```
mongodb://root:secret@localhost:27017
```
Official Images of mongodb : https://hub.docker.com/_/mongo
#### mongod-express
mongo-express is Web-based MongoDB admin interface, written with Node.js and express (just like phpmyadmin for mysql)
```
docker run -it --rm \
--network bridge \
--name mongo-express \
-p 8081:8081 \
-e ME_CONFIG_MONGODB_SERVER="host.docker.internal" \
-e ME_CONFIG_MONGODB_ENABLE_ADMIN=true \
-e ME_CONFIG_MONGODB_URL="mongodb://root:secret@localhost:27017/?authSource=admin" \
-e ME_CONFIG_MONGODB_ADMINUSERNAME="root" \
-e ME_CONFIG_MONGODB_ADMINPASSWORD="secret" \
mongo-express
```
### Redis
```
docker run --rm \
-p 6379:6379 \
--name local_redis \
-d redis
```
connect with db url
```
redis://@127.0.0.1
```
Official images of redis : https://hub.docker.com/_/redis