이글은 docker를 배우면서 이리저리 적은 메모입니다. docker 에 대해 기본 개념을 잡고싶으신 분은 다른 자료를 확인해주세요
참고
재즐보프:왕초보도 따라하는 도커 기초 강의
킴루코:Dockerfile에서 EXPOSE와 "docker run -p 명령의 차이점"
https://docs.docker.com/engine/reference/builder/
https://www.daleseo.com/docker-compose-django/
최고의 Dockerfile 작성을 위한 몇가지 습관들
Registry -> pull
-> Image
Registry <-push
<- Image
Image -> create
-> container
Image <- commit
<- container
Container(stop) -> start
-> Container(start)
Container(stop) <- stop
<- Container(start)
Registry -> Image -> container(stop) -> container(start) : run
container(stop) -> none(delete) : rm
image -> none(delete) : rmi
sudo docker run -d(데몬) --name tc tomact
sudo docker -p 88:80 (호스트):(컨테이너)
inspect: 이미지 정보 확인
docker inspect <imagename>
history:
docker history nginx
/var/lib/docker
image/(imagedb+layerdb)
overlay2/l(실질적인 정보)
컨테이너 내부 셸 실행
docker exec -it tc(name) bin/bash
로그보기
docker logs tc # stdout stderr
컨테이너 간 파일복사
docker cp <path> <container>:<path>
docker cp <container>:<path> <path>
docker cp <container>:<path> <continaer>:<path>
임시 컨테이너
docker run --rm
docker run -d --name tc -p 80:8080 consol/tomcat-7.0
docker exec -it(input&terminal) tc /bin/bash(쉘)
docker stop `docker ps -a -q`
docker run --name ms -e MYSQL_ROOT_PASSWORD=
패쓰워드를 평문으로 지정하라는 건가요? 네..
docker run -v <호스트경로>:<컨테이너내경로>:<권한>
/tmp:home/user:ro
ro: 읽기전용
rw: 읽기 및 쓰기
docker run --rm -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes -v "$PWD":/home/jovyan/work:rw jupyter/datascience-notebook
12 도커 이미지 푸시와 히스토리
docker login
docker tag echo_test <namespace>/echo_test
docekr images
docker push <namespace>/echo_test
docker history <namespace>/echo_test
Dockerfile
EXPOSE 는 -P
옵션에서 랜덤으로 매칭
-p
로 직접열어주자