docker 기본적인 흐름에 대해 정리해 보았다

4380 단어 도커

이 기사의 목적



docker의 전체 그림을 간단한 예를 만들면서 이해

docker의 사용법 등은 어쩐지 알았지만,
이마이치 전체상을 이미지할 수 없다…
라고 하는 분은 보실 수 있으면 좋겠습니다

작업 개요



이번에는 다음 흐름으로 docker를 실시해 보겠습니다.
1. dockerfile에서 image작성(build, pull)
2. image에서 컨테이너 작성(create)
3. 컨테이너를 움직여보십시오
4. 컨테이너에서 image 생성(commit)

docker 기본도





요소 정보
  • dockerfile
    공개된 docker 이미지를 그대로 사용하는 대신,
    추가 설정을 사용하여 docker 이미지를 만들 때 사용합니다.
  • image
    컨테이너를 시작하는 데 필요한 파일을 요약합니다.
    읽기 전용
  • 컨테이너
    docker 이미지를 기반으로 만든 가상 환경
  • dockerhub
    docker가 제공하는 이미지 관리 클라우드 서비스

  • dockerfile에서 이미지 만들기



    이미지 빨간색 프레임 부분에 대해 실시합니다.


    dockerfile 만들기



    이번에는 다음과 같은 dockerfile을 만들었습니다.
    FROM ubuntu
    
    RUN apt update
    
    WORKDIR /opt/
    
    CMD ["/bin/bash"]
    

    FROM에서 기본 이미지를 지정합니다.
    이 때 지정한 이미지를 pull하지 않은 경우, pull도 동시에 실시해 줍니다

    dockerfile에 나열된 명령은
    FROM, RUN, WORKDIR이 docker build의 타이밍으로 실행,
    CMD가 도커 시작 시점에서 실행됩니다.

    이미지 생성



    dockerfile에서 이미지를 만들 때 build 명령을 사용합니다.
    예제와 동일한 명령을 사용하는 경우 dockerfile이 있는 폴더로 이동한 다음 명령을 실행하십시오.
    docker build -t test:1.0 .
    

    명령을 실행 한 후 docker images에서 확인하면 새 image가 생성됩니다.
    REPOSITORY              TAG       IMAGE ID       CREATED         SIZE
    test                    1.0       cb7375570b67   2 minutes ago   103MB
    

    이미지에서 컨테이너 만들기





    docker image에서 컨테이너를 만들 때 create 명령을 사용합니다.
    docker create -it --name testdayo test:1.0
    

    명령 실행 후 docker ps -a로 확인하면 새 컨테이너가 생성됩니다.
    CONTAINER ID   IMAGE                   COMMAND                  CREATED         STATUS                    PORTS     NAMES
    9ecd3887bb6e   test:1.0                "/bin/bash"              7 seconds ago   Created                             testdayo
    

    컨테이너를 움직여보세요



    만든 컨테이너를 시작하려면 start 명령을 사용합니다.
    docker start -i testdayo
    

    시작하고 bash를 사용할 수있게되면 성공합니다.
    root@9ecd3887bb6e:/opt#
    root@9ecd3887bb6e:/opt# pwd
    /opt
    

    컨테이너에서 이미지 만들기



    이번에는 apache를 설치 한 이미지를 만듭니다.


    apache 설치



    먼저 사전에 설치되어 있지 않은지 확인합니다.
    apache2 -v
    bash: apache2: command not found
    

    apache2를 설치합니다.
    apt install apache2
    

    명령 실행 후 설치되었는지 확인합니다.
    apache2 -v
    Server version: Apache/2.4.41 (Ubuntu)
    Server built:   2021-07-05T07:16:56
    

    이탈로 bash에서 빠져

    컨테이너에서 이미지 만들기



    apache가 설치된 컨테이너에서 커밋을 수행합니다.
    docker commit testdayo test2
    

    이미지가 생성되었는지 확인합니다.
    docker images
    
    REPOSITORY              TAG       IMAGE ID       CREATED          SIZE
    test2                   1.0       01b3cf3ea958   16 seconds ago   226MB
    test                    1.0       2a7093e5c996   8 days ago       103MB
    

    apache 시작 확인



    컨테이너를 만들고 이동합니다.
    docker create -it -p 8080:80 --name testdayo2 test2:1.0
    docker start -i testdayo2
    

    apache를 시작하고 브라우저에서 localhost : 8080에 연결합니다.
    /etc/init.d/apache2 start
    
    /etc/init.d/apache2 status
     * apache2 is running
    

    이미지와 같은 화면이 나오면 시작할 수 있습니다.



    참고 docker docs





    도커의 대략적인 흐름을 이해하고 싶습니다.
    잘못된 부분이 있으면 알려주세요.

    좋은 웹페이지 즐겨찾기