프로그래밍/도커

[도커] 6. 도커 명령어 2

riroan 2021. 12. 29. 23:27

이번시간엔 도커를 실행시킬때 사용되는 여러가지 옵션들에 대해 살펴볼것이다.

우분투 컨테이너 실행

docker run을 사용해서 우분투 이미지를 다운받아 컨테이너화해서 실행시켰다.

우선 ubuntu:latest 라는 문구가 눈에 띈다.

그냥 이미지 이름만 입력하여 다운받으면 자동적으로 최신버전의 이미지를 다운받는다.(latest version)

특정 버전의 이미지를 다운

받기 위해서는 "{이미지이름}:{버전}"형식으로 입력하면 된다.

우분투 16.04버전 이미지 다운

지난시간과 마찬가지로 우분투가 시작하자마자 끝났기때문에 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컨테이너를 실행해보고자 한다.

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