일단은 프로그래머 나부랭이

docker 컨테이너 구성 본문

Linux

docker 컨테이너 구성

하필이면 도대체가 2018. 7. 31. 12:40

docker를 설치한 이후, 'docker ps'라는 명령을 수행합니다.

그러면 아래와 같이 아무 내용도 보이지 않습니다.

이 명령은 현재 실행중인 docker 컨테이너 목록을 보여주는 명령입니다.

현재 실행중인 컨테이너가 없기 때문에 아무 내용도 보이지 않는것입니다.


우선은 무엇을 설치할지 찾아보도록 하겠습니다.

'docker search os명'을 입력합니다.

(저는 centOS를 설치할겁니다)


해당 os로 구성된 이미지가 여러개 검색됩니다.

저는 officail(=공식) centos를 설치하도록 하겠습니다.

명령어는 'docker run 이미지명:태그명'이 기본입니다.

예를 들어 centos 6.9를 설치한다면 'docker run centos:6.9'라고 입력하면 됩니다.

태그명의 경우 os버전을 의미하는 경우가 많습니다.

그리고 가장 최신버전을 쓰고 싶을 경우, 태그명을 숫자가 아닌 'lastest'라고 입력하시면 됩니다.


하지만 run에 부옵션을 따로 설정하지 않으면 컨테이너가 실행되지 않는 경우가 있습니다.

(이유는 잘 모르겠습니다만..)


때문에 -dit라는 부옵션을 줘서 컨테이너가 바로 실행되도록 해주겠습니다.

'docker run -dit centos:6.9'라고 입력해보도록 하겠습니다.

이후 'docker ps' 명령을 다시 입력하면..

위와 같이 centos 6.9가 설치되고, 컨테이너 start까지 됩니다.

참고로 names의 값은 임의로 설정되기 때문에 사람마다 다를 수 있습니다.

만약 names의 내용을 임의로 변경하고 싶다면, 위의 명령어에서 '--name 명칭'이라는 부옵션을 설정해주시면 됩니다.

(ex : 'docker run -dit --name test centos:6.9')


이번에는 docker 내부로 들어가 보겠습니다.

명령어는 'docker exec -it [컨테이너 ID || names의 명칭] /bin/bash'
라고 입력하시면 됩니다.
(만약 root pw를 모르는 container의 경우 'docker exec -u 0 -it [컨테이너 ID || names의 명칭] /bin/bash' 로 접속하면 됩니다)

저의 경우 names를 test로 지정하여 컨테이너를 새로 구성했습니다.

그리고 exec 명령어를 이용해 컨테이너 내부로 들어오게 되면, hostname이 바뀌게 됩니다.

저 호스트명은 컨테이너 id가 기본값인데, 컨테이너를 구성할 때(run명령을 입력할 때), --hostname 옵션을 통해 지정이 가능합니다.


컨테이너 내부는 별도의 os이기 때문에 다른 가상머신들처럼 원하는 프로그램은 마음대로 설치할 수 있습니다.

단, 컨테이너와 호스트, 호스트와 호스트 간의 통신에는 다소 제약이 있는것 같습니다.


이 내용은 다음 게시글에서 다루도록 하겠습니다.

'Linux' 카테고리의 다른 글

리눅스 환경변수를 쉽게 설정 또는 변경 하는 법  (0) 2018.11.28
docker swarm 소개  (0) 2018.08.14
linux, local접속은 되지만 외부 접속이 안될 때  (0) 2018.08.02
docker 설치  (0) 2018.07.31
docker 소개  (0) 2018.07.30

Comments