본문 바로가기

IT/Docker

[docker] 도커의 유용한 명령어 7 도커의 유용한 명령어 7.1 포트포워딩으로 톰캣 실행하기 sudo docker run -d --name tc -p 80:8080 tomcat firefox 127.0.0.1:80 7.2 컨테이너 내부 셸 실행 sudo docker exec -it tc /bin/bash 7.3 컨테이너 로그 확인 stdout, stderr로 출력되는 것들을 출력함 sudo docker logs tc # stdout, stderr 7.4 호스트 및 컨테이너 간 파일 복사 sudo docker cp : sudo docker cp : sudo docker cp : : 7.5 도커 컨테이너 모두 삭제 sudo docker stop `sudo docker ps -a -q` sudo docker rm `sudo docker ps.. 더보기
[docker] Life Cycle 도커 라이프 사이클 이용하기 도커 라이프 사이클 명령어 # docker 레지스트리에서 nginx 이미지 가져오기 docker pull nginx # docker 가져온 이미지로 컨테이너 생성하기 cf. -p: 포트 docker create -p 80:80 --name nx nginx # 실행중인 도커 목록 확인하기 docker ps -a # 컨테이너 id로 도커 실행하기 docker start [컨테이너id] # 도커삭제하기 docker rm nx #삭제 안됨 멈춰줘야 함 Error response from daemon: You cannot remove a running container 3a5907a863d859568a8cce5dde9f61827f37b6634d359f8970f52065409b63f7... 더보기
[docker] 안쓰는 도커 삭제하기 Stopped Container 삭제하기 안쓰는 이미지를 삭제하기 위해서는 사용하지 않는 stopped container를 삭제하여야 한다. 12시간 이상 지난 container를 삭제하려면 아래의 필터 명령어를 사용. $ docker container prune or $ docker container prune --filter "until=12h" 안쓰는 docker image 삭제하기 어떤 container에도 연결되어 있지 않은 docker image를 삭제하려면 아래의 명령어를 입력한다. $ docker image prune -a 더보기
docker-compose 버전 변경 도커컴포즈 버전 확인하기 $ docker-compose -v 도커컴포즈 제거 $ sudo apt-get remove docker-compose 최신버전 설정 후 다운로드 진행 $ VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r) # jq가 설치가 안되있으면 설치 해줘야 함($ sudo apt install jq) $ VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r) $ DESTINATION=/usr/local/bin/docker-compose $ sudo.. 더보기
[Dockerfile] 자주쓰는 instruction rampart81.github.io/post/dockerfile_instructions/ 자주쓰는 Dockerfile instruction들 - Blog by Eun Woo Song FROM FROM instruction을 사용하여 base image를 지정한다. 주로 ubuntu 같은 OS를 지정하게 된다. Base image를 지정할때는 ubuntu:16.04 처럼 OS와 버젼까지 정확히 지정해주는것이 좋다. RUN package를 인스톨 한다 rampart81.github.io 더보기
[Dockerfile] FROM FROM FROM instruction을 사용하여 base image를 지정한다. 주로 ubuntu 같은 OS를 지정하게 된다. Base image를 지정할때는 ubuntu:16.04 처럼 OS와 버젼까지 정확히 지정해주는것이 좋다. 1FROM ubuntu:16.04cs 더보기
[dockerfile] ENV와 ARG 차이 ENV vs ARG ENV 환경변수 지정 $변수 혹은 ${변수} 형태로 표현 가능 또한, ${변수:-값}으로 값을 기본값으로 표현 가능 ${변수:+값}의 경우는 반대에 경우인데 사용할 일이 있을까 싶다. docker run 시에 --e 옵션을 활용하여 오버라이딩 할 수 있다. ARG build 시점에만 사용되는 변수 ARG 변수 혹은 ARG 변수=값 형태로 표현 가능 ENV처럼 ${변수:+값}, ${변수:-값}으로도 표현 가능 docker build 시에 --build-arg 옵션을 활용하여 오버라이딩 할 수 있다. TEST 1 Scope 확인 FROM debian:jessie-slim ENV NAME_ENV=wonchul ARG NAME_ARG=wonchul RUN echo "envirment = ${.. 더보기
docker image latest tag 강제로 바꾸기 docker container를 띄우면서, docker hub에 등록된 이미지 중 latest 태그를 지원하지 않는 이미지들이 간혹 있었다. 이미 띄워놓은 컨테이너에서 image가없을때 아래와 같은 에러가 뜨면서 적용이 안되는 이슈가 있었다. found: manifest unknown: manifest unknown 어쩔 수 없이 latest 태그를 단 이미지를 만들어야 했다. 필요한 ccenv:1.4 이미지를 땅겨오고, 설치된 것을 확인한 후 해당 이미지 태그를 변경을 위해선 컨테이너를 실행해야 한다. docker run --name ccenv -it hyperledger/fabric-ccenv:1.4 docker ps -a docker commit -a "by Lotty" 4a7823d504b hyp.. 더보기