docker 기본적인 흐름에 대해 정리해 보았다
4380 단어 도커
이 기사의 목적
docker의 전체 그림을 간단한 예를 만들면서 이해
docker의 사용법 등은 어쩐지 알았지만,
이마이치 전체상을 이미지할 수 없다…
라고 하는 분은 보실 수 있으면 좋겠습니다
작업 개요
이번에는 다음 흐름으로 docker를 실시해 보겠습니다.
1. dockerfile에서 image작성(build, pull)
2. image에서 컨테이너 작성(create)
3. 컨테이너를 움직여보십시오
4. 컨테이너에서 image 생성(commit)
docker 기본도
요소 정보
공개된 docker 이미지를 그대로 사용하는 대신,
추가 설정을 사용하여 docker 이미지를 만들 때 사용합니다.
컨테이너를 시작하는 데 필요한 파일을 요약합니다.
읽기 전용
docker 이미지를 기반으로 만든 가상 환경
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
끝
도커의 대략적인 흐름을 이해하고 싶습니다.
잘못된 부분이 있으면 알려주세요.
Reference
이 문제에 관하여(docker 기본적인 흐름에 대해 정리해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/qiitaro_019475/items/7c7ae9b763c335bf91c4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)