Conatainer 만들기
- Dockerfile을 이용해 컨테이너를 빌드한다.
dockerfile 문법
- FROM base 이미지(운영 환경)
- COPY 컨테이너 빌드시 호스트의 파일을 컨테이너로 복사
- WORKDIR 컨테이너 빌드시 명령이 실행될 작업 디렉토리 설정
- CMD 컨테이너 동작시 자동으로 실행할 서비스나 스크립트 지정
build 해보기
- dockerfile과 소스 파일을 준비하고 빌드해보기
- docker build -t [컨테이너이름]:latest [docker파일 위치]
- 만들어진 이미지 확인
- 실행시켜보기
docker hub에 이미지 배포
- docker login으로 docker 유저 이름 비밀번호 입력
- 개인 저장소에 올릴 때는 docker tag webserver:v1 hyoungjoon/webserver:v1 이런식으로 tag와 나의 이름을 추가해서 이미지 이름을 바꿔준다.
- docker hub에 push 해주기
- docker hub repository에 잘 올라왔다.
container 저장소
- docker hub를 사용한다.
- registry 컨테이너 이용하면 private한 container 저장소를 사용 가능하다.
- docker registry 컨테이너 실행시키기
- docker tag study:latest localhost:5000/study 명령어로 container 이미지 이름 바꿔서 나만의 저장소에 저장할 수 있도록 한다.
- docker push localhost:5000/study 명령어를 입력하면 나의 registry에 저장된 것을 확인할 수 있다.
- docker registry 컨테이너 실행시키기
docker container 관리하기
- docker pull nginx 명령어로 컨테이너 이미지 다운받고 컨테이너 실행시키기
- docker inspect webserver 명령어로 자세한 정보(ip 등) 확인해보기
docker로 띄운 nginx에 접속해보기
- 포트포워딩 연습
- vmware로 구축한 가상환경에서 docker 컨테이너를 실행시킨다.(nginx 서버 띄우기- 포트포워딩은 1234->80)
- vmware로 구축한 가상환경에서 웹서버에 접속하려면 가상환경 ip:1234로 접속가능
- 내 노트북 웹 브라우저에서 가상환경 nginx 서버에 접속하려면 내 localhost ip에 107번 포트로 접속하면 연결이 된다.
흐름 localhost:107 -> 10.100.0.105:1234 -> nginxip:80 이런식으로 연결된다.
도커 컨테이너 안에서 동작하는 프로세스 확인하기
- docker top webserver
- nginx 동작 확인
컨테이너에 내가 만든 웹서버 nginx에 접속하기
- 컨테이너 안으로 들어가서 웹 문서를 변경할 수 있다.
- docker exec -it [컨테이너명] /bin/bash
- 컨테이너에 직접 접속하여 bash 쉘 사용
- -i : interactive / -t : terminal
docker container 중지
Trouble shooting
- 도커를 빌드하고 image가 만들어진 것을 확인했는데 실행이 안된다..
- 대소문자 구분 잘하기
출처: 따배쿠
'Infra' 카테고리의 다른 글
AWS IAM 계정 공유 와 AWS 서비스에 IAM 역할 적용 (0) | 2024.12.04 |
---|---|
Docker-compose 다루기 (0) | 2024.12.04 |
컨테이너 관리하기 (0) | 2024.12.04 |
가상화 다루기 (0) | 2024.12.04 |
리버스 프록시와 로드 밸런서가 다른건가? (0) | 2024.06.19 |