이번시간엔 도커를 실행시킬때 사용되는 여러가지 옵션들에 대해 살펴볼것이다.
docker run을 사용해서 우분투 이미지를 다운받아 컨테이너화해서 실행시켰다.
우선 ubuntu:latest 라는 문구가 눈에 띈다.
그냥 이미지 이름만 입력하여 다운받으면 자동적으로 최신버전의 이미지를 다운받는다.(latest version)
특정 버전의 이미지를 다운
받기 위해서는 "{이미지이름}:{버전}"형식으로 입력하면 된다.
지난시간과 마찬가지로 우분투가 시작하자마자 끝났기때문에 docker ps 에는 나오지 않고 docker ps -a에 나오는 모습을 볼 수 있다.
이를 방지하기 위해 아래의 명령어를 입력한다.
docker run -it ubuntu
이는 우분투 컨테이너와 직접 상호작용을 한다는 의미이다.
이제 우분투 컨테이너로 들어와 ls -a명령어가 정상작동하는 것을 볼 수 있다.
하지만 컨테이너 밖으로 나와 잠시 다른 작업을 하려고 하면 또 다시 컨테이너가 종료가 된다.
이를 위해 처음부터 백그라운드(데몬)에서 실행시키도록 할 수 있다.
docker run -d -it ubuntu
드디어 도커 컨테이너가 시작하자마자 끝나지 않고 백그라운드에서 실행되고 있다.
컨테이너로 진입하기 위해 아래 명령어를 입력한다.
docker exec -it {NAMES} {COMMAND}
이 명령어를 입력해 컨테이너로 들어와 ls -a 명령어가 작동하는것을 확인한 후 exit으로 빠져나와도 docker ps를 확인해보면 아직 멈추지 않은것을 볼 수 있다.
컨테이너를 멈추려면 아래 명령어를 입력한다.
docker stop {CONTAINER ID}/{NAMES}
지난시간과 마찬가지로 CONATINER ID나 NAMES를 입력해야 하는데 CONATINER ID는 현재로썬 컨테이너 수가 적어 쉽게 입력할 수 있지만 컨테이너가 많아진다면 NAMES를 입력하는 것이 효율적이다.
별칭(NAMES)는 기본적으로 랜덤 문자열이 들어가지만 내가 원하는 별칭을 정할 수 있다.
docker run --name {NAMES} ubuntu
이제 별칭을 원하는대로 지정했고 이를 이용해서 컨테이너를 삭제했다.
그리고 도커에서 외부접속을 위해 포트가 필요한 경우가 있다.
이를 위해 포트포워딩도 지원한다.
docker run -d -it -p {외부포트}:{내부포트} nginx
오늘 알아본 모든 옵션을 이용해 nginx컨테이너를 실행해보고자 한다.
8080으로 접속하면 80번(http)포트로 보내게 했다.
그 후 8080포트로 http 요청을 보내면 nginx응답이 정상적으로 오는 것을 확인할 수 있다.
브라우저로 접속해도 정상적으로 나타난다.
'프로그래밍 > 도커' 카테고리의 다른 글
[도커] special. VScode에서 ssh 접속하기 (0) | 2021.12.31 |
---|---|
[도커] special. AWS 보안 (0) | 2021.12.30 |
[도커] 5. 도커 명령어 1 (0) | 2021.12.23 |
[도커] 4. Hello Docker (0) | 2021.12.22 |
[도커] 3. 도커 구조 (0) | 2021.12.22 |