Docker TIL 03

Nabang Kim·2021년 9월 17일
0

Docker

목록 보기
3/3
post-thumbnail

2021년 9월 17일에 작성된 문서 3번 입니다.
docker 배운 내용을 정리했습니다.



Docker 컨테이너에 파일 복사

  • 로컬에 있는 파일과 도커 이미지를 연결하는 방법
  1. CP(Copy) 를 이용하는 방법
    • CP(Copy) : 호스트와 컨테이너 사이에 파일을 복사(Copy)
  2. Docker Volume 기능을 이용하는 방법
    • Volume : 호스트와 컨테이너 사이에 공간마운트(Mount)
      • 마운트 :
        • 저장 공간을 다른 장치에서 접근할 수 있도록 경로를 허용
        • 마치 하나의 저장 공간을 이용하는 것처럼 보이게 하는 작업.






httpd 웹 서버

Apache HTTP Server 실행할 수 있는 오픈소스 웹 서버 소프트웨어

httpd 는 /usr/local/apache2/htdocs/ 경로에 웹 서버와 관련된 파일들이 저장되어 있다면, 해당 파일을 기반으로 웹 서버가 실행되도록 합니다.

1. codestates/pacman-canvas 레포지토리 클론.

    git clone https://github.com/codestates/pacman-canvas
    
    //pacman-canvas 레포지토리를 클론

2. docker container run로 httpd 실행.

 docker container run --name 컨테이너_이름 -p 818:80 httpd
 
 // httpd를 실행
 // -p : 로컬호스트의 포트와 컨테이너의 포트를 연결
 // 818포트가 로컬호스트의 포트
 // 80번은 컨테이너의 포트


3. 127.0.0.1:818, localhost:818로 웹 서버가 작동하고 있는지 확인

  • 127.0.0.1localhost 를 이용하면 로컬 컴퓨터의 IP 주소로 redirecting 할 수 있다.
    • DNS 설정으로 인해 localhost 로 접속이 안 되고 127.0.0.1 만 접속 가능!

4. 새로운 터미널을 열어 docker container cp 입력해 로컬호스트에 있는 파일을 컨테이너에 전달.

  • docker container cp : 앞 경로의 파일을 뒤 경로에 복사.
    docker container cp ./ 
    컨테이너_이름:/usr/local/apache2/htdocs/
    
    //현재 폴더의 파일을 뒤 경로에 복사

5. 127.0.0.1:818 혹은 localhost:818 에 접속해서 게임 서버가 구동되는지 확인






Docker 이미지 만들기

1. 구동한 Docker Container를 이미지로 만드는 방법

1. docker container commit 이용

    docker container commit 컨테이너_이름 my_pacman:1.0
    
    //구동한 Docker Container를 commit

2. 생성된 이미지를 900 포트에서 웹 서버로 구동

 docker run --name my_web2 -p 900:80 my_pacman:1.0
 //900 포트에서 웹 서버로 이미지를 구동

3.127.0.0.1:900 혹은 localhost:900 을 통해 웹 서버가 작동하고 있는지 확인.




2. Docker Image 빌드를 위한 파일인 Dockerfile 로 만드는 방법

  • Dockerfile 을 만들고, Dockerfile 대로 이미지를 build 하는 방법.
    • Dockerfile = 이미지 파일의 설명서.
    //현재 경로에 있는 파일을 생성할 이미지 경로에 
    //복사하는 명령의 Dockerfile 소스 코드
    
    FROM httpd:2.4 
    // 베이스 이미지를 httpd:2.4 로 사용합니다.
    
    COPY ./ /usr/local/apache2/htdocs/ 
    // # 호스트의 현재 경로에 있는 파일을 생성할 이미지를
    // /usr/local/apache2/htdocs/ 에 복사합니다.
  1. docker build : Dockerfile로 도커 이미지 파일을 생성.
     // --tag 는 name:tag 형식으로 이미지를 생성할 수 있다.
     // 지정한 경로에 있는 Dockerfile을 찾아서 빌드
     
     docker build --tag my_pacman:2.0 . 
     // "."을 명령어에 꼭 포함! 
     
     //docker build는 Dockerfile로 도커 이미지 파일을 생성
  1. 생성된 이미지를 이용해 901 포트에 웹 서버 구동
    docker run --name my_web3 -p 901:80 my_pacman:2.0
    
    //901 포트에서 웹 서버로 이미지를 구동
  1. 127.0.0.1:901 혹은 localhost:901 을 통해 웹 서버가 작동하고 있는지 확인.






Written with StackEdit.

0개의 댓글

관련 채용 정보