기억의 습작

4. 도커 사용 본문

SCM (형상관리)/docker

4. 도커 사용

뿌사리다 2021. 8. 25. 21:36

목차

  1. 설치된 이미지 확인
  2. 설치된 컨테이너 확인
  3. 컨테이너 접속
  4. 컨테이너 컨트롤 (시작,중지,일시정지,일시정시해지)
  5. 컨테이너 내부에 있는 파일 복사 및 가져오기
  6. 컨테이너 내부 명령어 실행

 

1. 설치된 이미지 확인

$ docker images

 

2. 설치된 컨테이너 확인

$ docker ps          <- 실행중인 컨테이너만 출력
$ docker ps -a     <- 전체 컨테이너 목록
$ docker ps -l      <- 가장 최근에 실행한 컨테이너 출력

 

3. 컨테이너 접속

3.1콘솔로 접속하는 방법 (-p 옵션으로 ssh포트를 연결하지 않았다면 무조건 docker exec 로 접속해야한다)

$ docker exec -it my-centos /bin/bash

$ ctrl + pq    <-- 컨테이너 종료없이 빠져나가기 (컨트롤러 누른 상태에서 p 누른다음 q 누르기)
$ exit             <-- 컨테이너 종료하고 빠져나가기 ( = ctrl + d )

3.2 ssh로 접속하는 방법

3.2.1. openssh 설치하기
# yum update -y
# yum install openssh-server -y

3.2.2. 사용자 계정 만들고 권한 설정
# useradd ppusari
# yum install passwd -y    패스워드 변경시 bash: passwd: command not found 이라고 에러가 발생할 경우 설치
# passwd ppusari

3.2.3. ssh 접속을 위한 권한 설정
# usermod -G wheel ppusari              ←  wheel 그룹에 사용자계정 추가하기 (목적은 사용자 계정이 sudo 명령어를 사용)
#
chmod u-s /sbin/unix_chkpwd     ←  SUID 해제
# chmod u-s /usr/bin/newgrp           ←  SUID 해제
# vim /etc/ssh/sshd_config                ← 아래와 같이 수정

 PermitRootLogin no                      ← root 계정으로 접근 못하도록 수정 (yes -> no 로 변경)
 PasswordAuthentication yes     ← 패스워드로 접근 가능하도록 처리 (주석해지)
 UseLogin yes                                    ← user계정접근 가능 (없으니까 타이핑 해야함)

# systemctl restart sshd.service    ← root 접속권한을 해제하였으니 데몬을 재 시작해 준다.

3.2.4.ssh 접속
ssh ppusari@localhost -p 11022

 

4. 컨테이너 컨트롤 (시작/중지/일시정지/일시정지 해지)

4.1 컨테이너 시작

$ docker start my-centos     <-- 그림에서 처럼 STATUS 가  Exited 로 되어 있는 컨테이너를 실행 할 수 있다.
(실행만 시키고 컨테이너 안으로 접속하지 않는다)

4.2 컨테이너 중지

$ docker stop my-centos

4.3 컨테이너 일시정지

$ docker pause my-centos        <- 시작중일 때만 일시정지가 되며, 일시정지 하면 사용중인 메모리는 반환되지 않음.

4.4 컨테이너 일시정지 해지

$ docker unpause my-centos   <- 일시중지된 컨테이너만 일시중지 해지를 할 수 있겠죠?

 

5. 컨테이너 내부에 있는 파일 복사 및 가져오기

5.1 host -> 컨테이너 로 카피     (내 PC에 있는 myfile.txt 파일을 도커 컨테이너 속으로 복사)

$ docker cp myfile.txt my-centos:/home/ppusari

5.2 컨테이너 -> host 로 카피      (도커 컨테이너 속에 있는 myfile.txt 파일을 내pc로 복사)

$ docker cp my-centos:/home/ppusari/myfile.txt ./

 

6. 컨테이너 내부 명령어 실행

$ docker exec my-centos touch /hello.txt  <- my-centos 컨테이너 안에 있는 명령을 호스트 서버에서 실행

728x90
반응형
LIST