-
docker ps --filter "status=exited"
-
docker ps -a
-
docker images
-
docker inspect <containerId>
-
docker inspect <containerId> | grep -E -o '"Source": "(.)*"' | sed 's/"//g' | sed "s/Source: //g" | xargs nautilus
-
docker top <containerId>
-
docker network ls
-
docker network create <name>
-
docker network inspect <name>
docker kill <containerId>
docker [container] rm <containerId>
docker [container] rm $(docker ps -a -q)
docker rmi <image>
docker rmi $(docker images -q)
docker build -t <image> <Dockerfile dir>
docker [container] start <containerId>
docker [container] stop <containerId>
docker [container] port <containerId>
docker exec -it <containerId> /bin/sh
docker [container] run -it -p <inner>:<outer> --rm --name <container> <image>
- External ENV:
docker run --name <container> --env-file <ENV_FILE> <image>
- host network:
docker run -it --rm --net="host" --name <container> <image>
- thread run:
docker run --name <new container name> -e <ENV Variable> --detach mysql:tag
services:
database:
# https://hub.docker.com/_/mongo
image: mongo:4.0
volumes:
- dbdata:/data/db
- ./docker-database-mongod.conf:/etc/mongod.conf.orig
# to enable auth, add the following to mongod.conf.orig:
############################
# security:
# authorization: enabled
###########################
# see https://docs.mongodb.com/manual/tutorial/enable-authentication/#re-start-the-mongodb-instance-with-access-control
- ./docker-database-init.sh:/docker-entrypoint-initdb.d/00.sh
# mongo --host localhost \
# -u $MONGO_INITDB_ROOT_USERNAME \
# -p MONGO_INITDB_ROOT_PASSWORD --eval \
# "db.getSiblingDB('$MONGO_INITDB_DATABASE'); \
# db.createUser({
# user: '${MONGO_INITDB_ROOT_USERNAME}',
# pwd: '${MONGO_INITDB_ROOT_PASSWORD}',
# roles: [{role: 'readWrite', db: '${MONGO_INITDB_DATABASE}'}]
# });"
## SEE: https://docs.mongodb.com/manual/tutorial/enable-authentication/#create-the-user-administrator
environment:
- MONGO_INITDB_ROOT_USERNAME=root1
- MONGO_INITDB_ROOT_PASSWORD=root1
- MONGO_INITDB_DATABASE=my_database_name
database-web:
# https://hub.docker.com/_/mongo-express
image: mongo-express
environment:
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
- ME_CONFIG_OPTIONS_EDITORTHEME="ambiance"
- ME_CONFIG_MONGODB_SERVER=database
- ME_CONFIG_MONGODB_PORT=27017
- ME_CONFIG_MONGODB_ADMINUSERNAME=root1
- ME_CONFIG_MONGODB_ADMINPASSWORD=root1
- ME_CONFIG_BASICAUTH_USERNAME=root1
- ME_CONFIG_BASICAUTH_PASSWORD=root1
depends_on:
- database
ports:
- 3001:8081
services:
database:
# https://hub.docker.com/_/mysql
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=dbmo
volumes:
- ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
# https://hub.docker.com/r/phpmyadmin/phpmyadmin/
db-web:
image: phpmyadmin/phpmyadmin:latest
environment:
- PMA_HOST=database
- PMA_PORT=3306
- PMA_USER=root
- PMA_PASSWORD=root
- MYSQL_ROOT_PASSWORD=root
volumes:
# https://hub.docker.com/r/phpmyadmin/phpmyadmin/
# https://github.com/phpmyadmin/phpmyadmin/issues/14184
- ./docker-config.user.inc.php:/etc/phpmyadmin/config.user.inc.php
ports:
- 8081:80
depends_on:
- database
version: '3.7'
services:
# a side-car for initalizing certificates
frontend-init:
image: tomcat:9.0.10-jre8
volumes:
- ./certificates:/usr/app
command: |
bash -c 'bash -s <<EOF
echo -e "EG\nSTATE\nCITY\nCOMPANY\nSECTION\nNAME\nEMAIL\n" | \
openssl \
req -x509 \
-nodes -days 365 \
-newkey rsa:2048 \
-keyout /usr/app/selfsigned.key \
-out /usr/app/selfsigned.crt
EOF'
frontend:
image: nginx:alpine
volumes:
- ./certificates/:/usr/app/certificates/
- ./nginx.conf:/etc/nginx/nginx.conf
- ./:/usr/share/nginx/html/
ports:
- 3000:80
- 443:443
events{}
http {
server {
listen 443;
ssl on;
ssl_certificate /usr/app/certificates/selfsigned.crt;
ssl_certificate_key /usr/app/certificates/selfsigned.key;
ssl_ciphers HIGH:!aNULL:!MD5;
# server_name local.website.dev;
# serves static files; https://www.nginx.com/resources/wiki/start/topics/examples/full/
location / {
root /usr/share/nginx/html;
expires 1m;
}
}
}