티스토리 뷰

Docker

Docker 기본 조작

뵤루 2022. 5. 26. 09:58

yum-config-manager를 위한 패키지 설치
 yum install -y yum-utils

리포지토리 설정
 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Docker CE(Community Edition) 설치​
 yum install –y docker-ce docker-cli containerd.io

 

 

하나의 컨테이너에는 하나만 구동

 

alpine: shell 용도 (IT)

httpd: daemon 용도 (서비스)

 

알파인으로 들어간상태

이름은 지정해주지 않았다

 

 

구동은 멀쩡히 잘 된다

몇가지 안되는 것도 있다

문제는 ps로 보면 안보임

 

 

-a 옵션으로 봐야 만들어놓은 컨테이너가 보인다

이름을 지정해주지 않아서 맘대로 지어진 상태

삭제하기 아주귀찮다

 

 

지울때 이 임의의 이름을 써야함

 

 

이번엔 이름을 지정해 실행해주자

 

 

실행이 안돼서 보면 종료되어있다

 


 

콘솔(로컬)접속은 tty(telnet), 원격접속은 pts라고 부른다

 

w를 입력하면 어디서 어떻게 접속했는지 확인 가능

로컬에서 alt+F1~6으로 6개 콘솔까지 접속 가능하다

 

 

이런 쉘을 제공해주는 대몬은 -it 명령어를 이용하여 진입한다

나올땐 ctrl+p+q로 나온다

 

 

exit를 이용하지 않고 해당 단축키로 나오면 컨테이너가 종료되지 않은 채로 나와진다

 

 

attach 명령어로 접속하면 다시 켜져있는 컨테이너로 진입한다

 

 

-d : dettach 명령어

-p 80:80 : hostpc:현재pc의 port forwarding

 

이건 attach로 접속해도 명령어가 안먹는다

들어갔다 나오면 컨테이너에 문제가 생김

 

foreground

- 해당 프로세스가 쉘을 점유중, 다른 명령어 사용 불가능

 

background

- 해당 프로세스가 쉘을 점유중이지 않음, 눈에는 실행중인 명령이 보이지만 명령어 실행 가능

- 근데 종료가 불가능

- jobs를 입력하면 작업번호를 알 수 있다

- fg%[작업번호] 명령어를 입력하면 foreground로 전환할 수 있다

 

삭제하면 깔끔

 

 

포트포워딩을 안했다

이경우에도 명령어가 안먹는다

 

 

나오면 컨테이너가 멈춘다

 

굳이 뭔가 작업을 하고싶다면

 

 

bash shell을 갖다 붙여서 작업하면 된다

 

 

vi 명령어는 안먹히지만 cat은 먹히다

it works! 말고 다른 문구로 수정하려면 cat명령어로 수정해보자

 

 

해당 IP와 port 번호로 접속하면 잘뜬다

 

 

작업이 끝나면 exit로 나와도 프로세스에 지장이 없다

 

attach는 직접 컨테이너에 간섭하기 때문에 조심스럽게 다뤄야하지만 exec로 진입하면 안전하게 작업할 수 있음

 


 

 

inspect 명령어를 사용하면 해당 컨테이너의 자세한 정보를 확인할 수 있다

길다

이 아래로 쭉 있다

 

 

해당 컨테이너에 부여된 IP도 확인할 수 있다

이 IP로 컨테이너끼리 통신할 수도 있다

 

 

컨테이너를 하나 추가한다

 

 

아까 만들었던 웹서버와 동시에 구동된다

 

 

이 컨테이너는 172.17.0.3이다

 

 

각각의 IP로 핑도 보내진다

 

 

exec 명령어를 이용하면 컨테이너 내부 디렉터리를 확인할 수 있음

 

 

여긴 ip관련 명령어들이 안먹는다

 

 

alpine을 사용해보자

-itd 명령어를 사용하면 컨테이너는 무조건 실행된다 (접속은 별도)

shell인지 daemon인지 구분을 못하겠으면 이렇게 쓰자

 

inspect 명령어로 ip를 확인한 뒤 alpine에 접속한다

 

 

여기서는 핑이 잘 가는 것을 확인할 수 있다

 

 

각각의 컨테이너 index 파일을 변경하여 웹 페이지를 수정한 모습

 

'Docker' 카테고리의 다른 글

Dockerfile  (0) 2022.06.03
docker 컨테이너 link, mysql 컨테이너 생성  (0) 2022.06.01
docker import, export  (0) 2022.05.31
Object Storage를 이용한 Docker httpd 이미지 업로드  (0) 2022.05.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함