Created
October 10, 2019 16:32
-
-
Save roostercrab/13ad8edd3e552fe1ab3e57c486e621fe to your computer and use it in GitHub Desktop.
Docker notes extended
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
reformat.sh | |
export FORMAT="\nID\t{{.ID}}\nIMAGE\t{{.Image}}\nCOMMAND\t{{.Command}}\nCREATED\t{{.RunningFor}}\nSTATUS\t{{.Status}}\nPORTS\t{{.Ports}}\nNAMES\t{{.Names}}\n" | |
# this shell will only work on bash | |
# makes formatting vertical with FORMAT tag | |
COMMANDS: | |
https://docs.docker.com/engine/reference/commandline/docker/ | |
DOCKERFILE: | |
FROM node | |
WORKDIR /usr/src/app | |
COPY package*.json ./ | |
RUN npm install | |
COPY . . | |
EXPOSE 4000 | |
CMD [ "npm", "start"] | |
BUILD DOCKER: | |
docker build -t jesse/simplebackend . | |
SHOW IMAGES: | |
docker images | |
REMOVE IMAGES: | |
docker rmi ****** | |
RUN IMAGE: | |
docker run -p 4000:4000 jesse/simplebackend | |
RUN WITH TERMINAL INTERACTIVE: | |
docker run -ti | |
DELETE CONTAINER AFTER MAIN PROCESS: | |
docker run -rm *container* *cmd* | |
DELETE CONTAINER AFTER MULTIPLE PROCESSES: | |
docker run -ti *container* bash -c "*cmd*, *cmd*" | |
docker run -ti ubuntu bash -c "sleep 3; echo all done" | |
RUN IN BACKGROUND: | |
docker run -d -ti ubuntu bash | |
RUN CONTAINER WITH LIMITED MEMORY: | |
docker run --memory maximum-allowed-memory ******** *cmd* | |
RUN CONTAINER WITH RESTRICTED CPU: | |
docker run --cpu-shares | |
docker run --cpu-quota | |
ECHO-SERVER: | |
docker run --rm -ti -p 45678:45678 -p 45679:45679 --name echo-server ubuntu:14.04 bash | |
nc -lp 45678 | nc -lp 45679 | |
(with netcat locally installed) | |
IN DIFFERENT SHELL: | |
nc localhost 45678 | |
IN OTHER DIFFERENT SHELL: | |
nc localhost 45679 | |
BACK IN FIRST DIFFERENT SHELL (TYPE): | |
here's some data | |
[IT SHOULD NOW APPEAR IN THE OTHER SHELL] | |
(without netcat locally installed) | |
IN DIFFERENT SHELL: | |
docker run --rm -ti ubuntu:14.04 bash | |
nc *computer's IP* 45678 | |
IN OTHER DIFFERENT SHELL: | |
docker run --rm -ti ubuntu:14.04 bash | |
nc *computer's IP* 45679 | |
BACK IN FIRST DIFFERENT SHELL (TYPE): | |
here's some data | |
[IT SHOULD NOW APPEAR IN THE OTHER SHELL] | |
GO IN TO DIAGNOSE: | |
docker exec -ti ********* bash | |
GO INTO CONTAINER: | |
docker attach ************ | |
LEAVE CONTAINER BUT KEEP IT RUNNING: | |
ctrl+p, ctrl+q | |
LEAVE CONTAINER AND CLOSE IT: | |
ctrl+d | |
SEE WHAT IS RUNNING: | |
docker ps | |
docker ps --format $FORMAT | |
SEE LAST CONTAINER AND WHAT HAPPENED TO IT: | |
docker ps -l --format=$FORMAT | |
STOP CONTAINER: | |
docker stop ***** | |
START CONTAINER: | |
docker start ***** | |
SEND TO DOCKERHUB: | |
docker push ***** | |
GET FROM DOCKERHUB: | |
docker pull mongo | |
DOCKER-COMPOSE.YML: | |
app: | |
container_name: app | |
restart: always | |
build: . | |
ports: | |
- "4000:4000" | |
links: | |
- mongo | |
mongo: | |
container_name: mongo | |
image: mongo | |
expose: | |
- "27017" | |
volumes: | |
- ./data:/data/db | |
ports: | |
- "27017:27017" | |
BUILD FROM DOCKER-COMPOSE: | |
docker-compose build | |
TO BUILD AND RUN: | |
docker-compose up | |
RUN IN BACKGROUND: | |
docker-compose up -d | |
***RECOMMENDED TO BRING THEM UP ONE AT A TIME*** | |
TO RUN A CONTAINER FIRST: | |
docker-compose up -d *container_name* | |
COULD ALSO JUST USE "depends-on"? | |
CHECK LOGS FOR CONTAINER: | |
docker logs ***** | |
STOP DOCKER CONTAINER: | |
docker kill ********* | |
REMOVE DOCKER CONTAINER PERMANENTLY: | |
docker rm ********* | |
STOP DOCKER-COMPOSE: | |
docker-compose stop | |
REMOVE *ALL* DOCKER CONTAINERS: | |
docker system prune | |
MAKE NEW IMAGE FROM CONTAINER: | |
docker commit ******** | |
GIVE IT A NAME: | |
docker tag ************ image-name-goes-here | |
DO BOTH: | |
docker commit *container* *new-image-name* | |
docker network --help | |
docker inspect ********* | |
kitematic | |
portainer | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment