Docker 사용 배우기

4599 단어 dockercontainers
은단의 출처Learning to use Docker on stegriff.co.uk
미래가 다가오는데 뒤에 차인 것 같은 공포감이 있었나요?
저는 Docker와 Kubernetes의 이야기를 읽을 때마다 이런 느낌을 받았습니다. 그래서 저는 이 여정을 시작할 나이가 지났다고 생각합니다!

Docker is a way of getting some software and all its dependencies, and running that software in a somewhat isolated environment.


어쨌든, 이것은 나의 간단한 정의이다.
이미지는 일반적으로 Docker Hubhttps://hub.docker.com/ 또는 Microsoft 컨테이너 레지스트리로 레지스트리에서 사용할 수 있습니다.
이미지는 소프트웨어 설치 프로그램이나 패키지와 유사합니다.그것create을 사용하여 기계에 용기를 설치할 수 있습니다.용기는 운행하거나 정지할 수 있다.같은 이미지의 용기가 많을 수 있습니다. 용기마다 다른 설정이 있습니다.그것들 중 하나는 독립적으로 시작하고 멈출 수 있다.
작문에서 이것은 약간 서투르고 무겁게 들리지만, 실천에서는 매우 멋있다.몇 개의 명령만으로 MongoDB나 Ghost와 같은 복잡한 패키지를 시작하고 실행할 수 있습니다.우선, 신기술이 적합한지 테스트할 수 있고, 힘들게 설정할 필요가 없다.생산에서 용기는 서비스와 마이크로서비스의 복제 가능, 하드웨어는 설정과 무관한 기초이다.

Windows에 설치


Windows에 Docker를 설치하려면 액세스https://hub.docker.com/하고 Docker Desktop 다운로드 링크를 클릭합니다.나는 이것이 이전에 "Docker for Windows"라고 불렸다고 생각한다.본문을 작성할 때 다운로드 작업은 로그인 페이지의 앞부분과 중심에 있는 큰 현수막이다.
Docker Desktop을 처음 설정할 때 Linux 컨테이너 모드 또는 Windows를 선택할 수 있는 확인란이 있습니다.Linux 사용을 선택하지 마십시오.언제든지 이 옵션을 쉽게 변경하고 Linux/Windows 모드로 전환할 수 있습니다.

몇몇 명령


cmd, PowerShell,git bash를 막론하고 터미널을 엽니다.명령 목록을 포함하는 도움말 텍스트를 보려면 docker 를 개별적으로 실행할 수 있습니다.다음은 나의 관련 예시 대본이다.

이미지


다음은 컴퓨터에서 이미지를 찾고 관리하는 데 사용되는 명령입니다.각 명령줄은 의도를 설명하기 위해 주석으로 시작합니다.
# Search docker hub for an image
docker search nginx

# Download an image (doesn't create a container)
docker pull nginx

# List the images that you have on the machine
docker images

# Remove the downloaded nginx image
# (all running containers of that image have to be stopped first)
docker rmi nginx

용기



용기를 만들면 전체 이름이나 ID의 명확한 부분을 사용하여 미래의 명령에 표시할 수 있습니다. ID는gitcommit 해시처럼 보입니다.용기에 이름을 할당하지 않으면 무작위 이름을 얻을 수 있습니다. 이 이름은 [adjective]_[scientist]에 근거한 것 같습니다.
# Create a container based on the nginx image
# Called 'my-server' (optional)
# Mapping container port 80 to host port 8080
docker create --name my-server -p 8080:80 nginx

# Start the container
# Detached by default, use -it for interactive terminal
docker start my-server
docker start -it my-server

# Stop a container
docker stop my-server

# List all running containers
docker ps

# List all containers, running and stopped
docker ps -a

# Delete a container
# Doesn't affect the image or any other containers of the same image
docker rm my-server
Unixps 명령으로 명명된 명령은 실행 중인 프로세스를 보여 줍니다.곤혹스러운 것은, ps 실행 중이든 아니든 기존 용기의 목록을 가져오는 명령이다.ps -a에 대해docker start-it-i표지의 조합이다.

일체식

-t 는 다음과 같은 속기 명령입니다.
  • 존재하지 않는 이미지 다운로드(즉nginx)
  • 이미지 기반 새 용기 만들기
  • 부팅 용기
  • 따라서 포트의 docker run nginxdocker run 같은 다른 명령의 많은 매개변수를 --name 에 제공할 수 있습니다.실행-p 전체 목록을 봅니다.docker run --help 항상 새 컨테이너가 생성됩니다.따라서 같은 이미지를 다시 사용하면 같은 소프트웨어의 많은 다른 실행 용기를 얻을 수 있습니다!나는 docker run이 이 점을 유지하는 데 매우 중요하다는 것을 발견했다.
    좋은 점은 기계에 주어진 버전의 기본 거울이 있으면 Docker는 소프트웨어를 다시 다운로드하지 않고 로컬 복사본을 사용합니다.ps -a 버전이 증가하면 대개 latest 업데이트된 버전을 다운로드하고 실행합니까?사실 검사기가 필요합니다!

    실행 중인 용기로 무엇을 할 수 있습니까?


    지금까지 이 용기들과 상호작용하는 주요 방식은 주요 기능(사이트, 데이터베이스 등)을 호스트(내 PC)의 포트에 공개하는 것이다.
    그리고 브라우저에서 이 연결을 사용하거나 실행 중인 데이터베이스에 응용 프로그램을 연결하여 실행 중인 소프트웨어를 사용할 수 있습니다. 예를 들어.
    실행 중인 소프트웨어는 그 기초 위에 리눅스 버전이 하나 있지만, 나는 아직 리눅스 y 비트를 원격 처리하려고 시도하지 않았다."L"항목 아래에 저장합니다. "나중에"사용합니다.

    컨테이너에 대한 추가 정보


    따라서 용기는 실제로 당신의 네트워크에 가상 존재합니다!
    용기에 대한 정보를 docker run 에서 찾을 수 있습니다.이 명령의 긴 JSON 결과 하단 부근은 IP 주소입니다.나는 네가 이걸로 무엇을 할 수 있는지 아직 모르겠다.
    Docker Swarm과 Kubernetes를 사용하는 다중 컨테이너 설정에서 이 가상 네트워크 IP는 컨테이너 간 통신에 사용된다는 것을 알고 있습니다."게으름"으로 "L"항목에서 압축합니다.

    너의 열정을 억제해라


    용기가'미래'(많은 사람들에게 현재)든 아니든 간에 나는 우리가 이 모범을 파악해야 한다고 생각한다.그래서 열심히 하고 있어요!여기까지 읽어줘서 고마워요. 제 초보 노트에서 뭔가를 얻었으면 좋겠어요.

    좋은 웹페이지 즐겨찾기