앱 개발을 가속화하는 Docker 치트 시트
게시 됨: 2020-05-27Docker에서 작업 중이신가요? 분명히 일반적인 기계 명령에 대한 메모리에 의존할 수 없으므로 포괄적인 Docker 치트 시트를 제공합니다.
Docker에서 작업하기 전에 관련 용어(Dockfire, 이미지 등)에 익숙해지는 것이 중요합니다.
하지만 먼저 Docker가 무엇이며 왜 사용해야 하는지 이해합시다.
목차
도커란?
컨테이너 관리자라고도 하는 Docker는 개발자가 애플리케이션을 개발하고 실행하는 데 도움이 되는 개방형 플랫폼입니다.
그러나 Docker가 컨테이너 관리자라면 컨테이너는 무엇입니까?
개발자에게 장애물 없이 프로세스를 실행할 수 있는 가상 격리를 제공하기 위한 얕은 추상화에서 실행되는 캡슐의 환경을 컨테이너라고 합니다.

Docker는 기본적으로 패키지 소프트웨어가 포함된 이러한 컨테이너를 관리할 수 있는 곳입니다.
도커를 사용하는 이유
Docker를 사용하면 개발자가 선호하는 도구 모음을 사용하여 클라이언트가 필요로 하는 언어로 모든 종류의 앱을 빌드할 수 있습니다. 이러한 앱은 또한 Windows, Ubuntu 및 Red Hat과 같은 어디서나 실행할 수 있고 이식 가능합니다.
Docker는 모든 변경 사항을 추적하고 관리하기 때문에 시스템 관리자는 앱이 어떻게 구축되고 어떻게 작동하는지 더 쉽게 볼 수 있습니다.
전반적으로 Docker는 고품질 앱을 더 빠르게 빌드하려는 경우에 유용합니다.
자세히 알아보기: Docker 네트워킹 소개: 워크플로, 네트워킹
Docker 작업을 위한 전제 조건
1. Docker 명령을 자동 완성하기 위한 zsh 구성 관리자와 함께 Docker 플러그인.
2. Linux – 3.10.x 커널 이상
3. MacOS – 10.8 Mountain Lion 이상
Docker를 설치한 후 호환되는 기능을 알기 위해 버전을 확인해야 함을 기억하십시오. 알아낼 수 있는 방법은 다음과 같습니다.
docker version 명령을 사용 하여 사용 중인 Docker 버전을 확인합니다.
다음 명령을 사용하여 서버 버전을 알 수 있습니다.
$ docker 버전 – 형식 '{{.Server.Version}}'
읽기: 인도의 Docker 급여
도커 설치
다음은 다른 운영 체제에 Docker를 설치하는 링크입니다.
- 리눅스 – curl -sSL https://get.docker.com/ | 쉿
- 최대 – https://download.docker.com/mac/stable/Docker.dmg
- 윈도우: https://download.docker.com/win/stable/InstallDocker.msi
이제 컨테이너 명령으로 넘어 갑시다.
컨테이너 명령
프로세스에 대한 스레드는 가상 머신에 대한 컨테이너입니다.
다음은 컨테이너에서 수행할 다양한 기능에 대한 명령 체인입니다.
수명 주기
- docker create – 컨테이너 생성
- 도커 이름 바꾸기 – 컨테이너 이름 바꾸기
- docker run – 한 번의 작업으로 컨테이너 생성 및 시작
- docker rm - 컨테이너 삭제
- docker update – 컨테이너의 리소스 제한 업데이트
컨테이너를 계속 실행하려면 docker run -td container_id 를 사용 하십시오.
컨테이너 시작 및 중지
- docker start nginx – 컨테이너 시작
- docker stop nginx – 컨테이너 중지
- docker restart nginx – 컨테이너 다시 시작
- docker pause nginx – 컨테이너 일시 중지
- docker unpause nginx – 컨테이너 일시 중지 해제
- docker wait nginx – 컨테이너 차단
- docker kill nginx – SIGKILL 보내기
- docker attach nginx – 하나의 컨테이너를 기존 컨테이너에 연결
Docker의 이미지 명령
- Dockerfile에서 이미지 생성: Docker build [URL ], 현재 디렉토리의 Dockerfile에서 이미지를 빌드하고 이미지에 태그를 지정하기 위한 Docker build -t
- 레지스트리에서 이미지 가져오기: Docker pull [IMAGE]
- 이미지를 레지스트리에 푸시: docker push [IMAGE]
- tarball에서 이미지 생성: docker import [URL/FILE]
- 컨테이너에서 이미지 만들기: Docker 커밋 [CONTAINER] [NEW_IMAGE_NAME]
- 이미지 제거: Docker rmi [IMAGE]
- tar 아카이브 또는 표준 입력에서 이미지 로드: docker load [TAR_FILE/STDIN_FILE]
- 이미지를 tar 아카이브에 저장하고 모든 상위 계층, 태그 및 버전과 함께 STDOUT으로 스트리밍: Docker save [IMAGE] > [TAR_FILE]
컨테이너 및 이미지 정보 명령
컨테이너를 설정한 후 관리하려면 컨테이너에서 모든 관련 정보를 가져오는 것이 중요합니다. 다음 명령을 사용하여 Docker에서 이미지 및 컨테이너 세부 정보를 가져옵니다.

- docker ps – 실행 중인 모든 컨테이너 나열
- docker ps -a – 중지된 컨테이너와 실행 중인 컨테이너 모두 나열
- docker logs [CONTAINER] – 실행 중인 컨테이너에서 모든 로그를 가져옵니다.
- docker inspect [OBJECT_NAME/ID] – Docker 개체에 대한 하위 수준 정보 나열
- docker events [CONTAINER] – 컨테이너의 모든 실시간 이벤트를 나열합니다.
- 도커 포트 [CONTAINER] – 컨테이너의 특정 매핑을 표시합니다.
- docker top [CONTAINER] – 실행 중인 모든 프로세스를 표시합니다 .
- docker stats [CONTAINER] – 컨테이너의 사용 통계를 실시간으로 표시합니다.
- docker diff [CONTAINER] – 컨테이너의 파일 또는 디렉토리에 대한 모든 변경 사항을 표시합니다.
- docker image ls – Docker 엔진에 로컬로 저장된 모든 이미지 나열
- docker history [IMAGE] – 이미지의 히스토리 보기
확인: 초보자를 위한 12가지 흥미로운 Docker 프로젝트 아이디어
Docker에서 이미지 로드 및 저장 명령
- docker load < my_image.tar.gz – 파일에서 이미지를 로드합니다.
- 도커 저장 my_image:my_tag | gzip > my_image.tar.gz – 기존 이미지 저장
컨테이너 가져오기 및 내보내기
- 고양이 my_container.tar.gz | docker import – my_image:my_tag – 컨테이너를 이미지로 가져오기
- 도커 내보내기 my_container | gzip > my_container.tar.gz – 기존 컨테이너 내보내기
Docker의 네트워크 명령
1. 네트워크를 생성하려면 다음 명령을 사용하십시오.
도커 네트워크 생성 -d 오버레이 MyOverlayNetworkdocker 네트워크 생성 -d 브리지 MyBridgeNetworkdocker 네트워크 생성 -d 오버레이 \
–서브넷=192.167.0.0/16 \
–서브넷=192.172.0.0/16 \
–게이트웨이=192.167.0.100 \
–게이트웨이=192.172.0.100 \
–ip 범위=192.167.1.0/24 \
–aux-address=”my-router=192.167.1.5″ –aux-address=”my-switch=192.167.1.6″ \
–aux-address=”my-printer=192.172.1.5″ –aux-address=”my-nas=192.172.1.6″ \
내 오버레이 네트워크
2. 네트워크를 제거하려면 다음을 사용하십시오.
도커 네트워크 rm MyOverlayNetwork
3. 네트워크를 나열하려면
도커 네트워크 ls
4. 네트워크에 대한 정보를 얻으려면
도커 네트워크는 MyOverlayNetwork를 검사합니다.
5. 실행 중인 컨테이너를 네트워크에 연결하려면
도커 네트워크 연결 MyOverlayNetwork nginx
6. 컨테이너가 시작될 때 네트워크에 연결하려면
도커 실행 -it -d –network=MyOverlayNetwork nginx

7. 네트워크에서 컨테이너 연결을 끊으려면
도커 네트워크 연결 끊기 MyOverlayNetwork nginx
읽어보기: Docker 인터뷰 질문 및 답변
결론
이 Docker 치트 시트는 고품질 앱을 빌드하는 동안 충분한 시간을 절약해 줍니다. 앱 개발 프로세스를 가속화하려면 항상 편리하게 보관하세요!
docker, 전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 PG 디플로마를 확인하세요. 이 PG 디플로마는 작업 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.