Docker를 사용하면서 자주 사용하는 내용을 정리했다.
docker-machine 커맨드
# 머신 시작하기
docker-machine start MachineName
# 환경 변수 지정
eval "$(docker-machine env MachineName)"
# 머신 업그레이드
docker-machine upgrade MACHINE_NAME
docker 커맨드
# Dockerfile로 빌드하기
docker build -t ImageName .
# 이미지를 컨테이너로 만들기
docker run \
--detach=true \
--privileged=false \
--interactive=true \
--tty=true \
--publish=80:80 \
--volume=`pwd`:/myvol \
--name=ContainerName \
--entrypoint=/bin/bash \
--add-host="gitlab:192.168.99.100" \
ImageName
# 컨테이너 커맨드 실행
docker exec -i -t ContainerName /bin/sh
# 이미지 리스트
docker images
# 실행 중인 컨테이너 리스트
docker ps
# 모든 컨테이너 리스트
docker ps -a
# 컨테이너 삭제하기
docker rm ContainerName
# 이미지 삭제하기
docker rmi ImageName
# 태그로 이미지 삭제하기
docker rmi ImageName:Tag
# 컨테이너를 이미지로 저장
docker commit Container ImageName:TagName
Dockerfile 사용 예제
# 이미지 가져오기
FROM centos:6.6
# 파일을 복사
COPY FILE_NAME /CONTAINER_PATH
# 커맨드 실행
RUN yum install -y gcc
# 작업 디렉터리
WORKDIR /tmp
# --entrypoint으로 이 설정을 오버라이드 할 수 있음.
ENTRYPOINT ["/usr/local/bin/gitlab-startup.sh"]
맥에서 80 포트로 접근 안 될 경우
가상 아이피를 통해 접근한다.
# 가상 아이피 확인
docker-machine ip default
192.168.99.100
# 가상 아이피로 접근
curl -XGET http://192.168.99.100
또는 포트 포워딩을 사용한다.
우선 Virtualbox에서 8000 -> 8000으로 포트 포워딩을 설정한다. 다음 커맨드를 입력한다.
# SSH 포트 포워딩 사용
sudo ssh user_id@localhost -L \*:80::8000
Link
- Docker Hub : 도커 이미지를 찾을 수 있는 사이트