도커 작성 및 간단한 사용 소개

1 설치

1.1 도커

설치하려면 아래 단계를 따르십시오.

# 更新现有的包
sudo apt update

# 添加Docker PGP公钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

# 配置Docker APT库
echo 'deb [arch=amd64] https://download.docker.com/linux/debian buster stable' | sudo tee /etc/apt/sources.list.d/docker.list

# 更新一下APT列表
sudo apt-get update

# 安装Docker,在安装前先删除原来系统中可能自带的Docker:
sudo apt-get remove docker docker-engine docker.io

# 安装Docker:
sudo apt-get install docker-ce

# 看看安装成功了没:
sudo docker run hello-world

# 设置启动
sudo systemctl start docker
sudo systemctl enable docker

1.2 도커 작성

실행 파일을 로컬로 가져옵니다 (sudo가 필요할 수 있음).

curl -L https://github.com/docker/compose/releases/download/1.25.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

실행 파일에 대한 권한 설정

chmod +x /usr/local/bin/docker-compose

설치 성공 여부 확인

docker-compose version

최종 효과 :

2 docker-compose 소개

먼저 docker-compose가 해결하도록 설계된 시나리오를 알아야합니다.

도커를 실행하려면 길고 복잡한 명령이 필요합니다. 예 :

docker run \
  --detach \
  --name registry \
  --hostname registry \
  --volume $(pwd)/app/registry:/var/lib/registry \
  --publish 5000:5000 \
  --restart unless-stopped \
  registry:latest

조작을 용이하게하기 위해이 도커 실행을 쉘 파일로 작성할 수 있습니다.

웹 미러링은 실제로 이것보다 더 복잡합니다. 간단한 docker run 명령으로는 웹 서비스를 시작하기에 충분하지 않습니다. 일반적으로 여러 개의 미러가 필요하며 미러 사이에는 우선 순위 관계가 있습니다. 이 관계의 오케스트레이션을 도커의 오케스트레이션이라고합니다.

Docker는 docker의 오케스트레이션을 완료하는 데 도움이되는 명령 줄 도구 docker-compose를 제공합니다. docker-compose를 사용하려면 docker-compose.yml 파일 (구성 파일)을 작성해야합니다.
예 :

version: "3"
services:
  web:
    image: beginor/geoserver:2.11.1
    container_name: geoserver-web
    hostname: geoserver-web
    ports:
      - 8080:8080
    volumes:
      - ./web/data_dir:/geoserver/data_dir
      - ./web/logs:/geoserver/logs
    restart: unless-stopped
    links:
      - database:database
  database:
    image: beginor/postgis:9.3
    container_name: postgis
    hostname: postgis
    ports:
      - 5432:5432
    volumes:
      - ./database/data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: 1q2w3e4R
    restart: unless-stopped

위의 yml 파일은 두 개의 서비스 웹과 데이터베이스를 정의하며, 서비스는 실행중인 컨테이너의 인스턴스에 해당합니다. 위 파일은 두 개의 인스턴스가 시작될 것임을 나타냅니다.

배포 할 때 일반적으로 응용 프로그램을 나타내는 디렉터리에 docker-compose.yml 파일을 넣어야하며 docker는이 응용 프로그램에 대한 독립 네트워크를 만듭니다.

docker-compose up -d프로그램을 시작하는 데 사용할 수 있습니다 .

~/Desktop/source » docker-compose up -d                                                                                                                       255 ↵ littlechieh6@MacBook-Pro
Creating network "source_app1" with the default driver
Building server
Step 1/6 : FROM ubuntu:16.04
16.04: Pulling from library/ubuntu
be8ec4e48d7f: Pull complete
33b8b485aff0: Pull complete
d887158cc58c: Pull complete
05895bb28c18: Pull complete
Digest: sha256:3355b6e4ba1b12071ba5fe9742042a2f10b257c908fbdfac81912a16eb463879
Status: Downloaded newer image for ubuntu:16.04
……

컨테이너 위에서 멈추려면 docker-compose downcan을 입력 하면됩니다.

위의 명령에서 알 수 있듯이 docker-compose는 구성 파일 docker-compose.yml에 따라 네트워크를 자동으로 생성하고 해당 컨테이너 인스턴스를 시작할 수있을뿐만 아니라 구성에 따라 컨테이너 인스턴스를 삭제할 수도 있습니다.

3 docker-compose 사용

일반적으로 사용되는 명령 :

# 启动 docker-compose 的实例
docker-compose up -d

# 关闭 docker-compose 的实例
docker-compose down

# 列出本机正在运行的容器
docker container ls
docker ps

# 用来查看 docker 容器的输出,即容器里面 Shell 的标准输出。
$ docker container logs [containerID]

# 进入容器
$ docker container exec -it [containerID] /bin/bash

부록

참조 튜토리얼 :

  1. 使用 docker-compose 替代 docker run : https : //beginor.github.io/2017/06/08/use-compose-instead-of-run.html
  2. Kali Linux 2020.1 Release 安装 Docker-CE https : //zhuanlan.zhihu.com/p/110675842

추천

출처blog.csdn.net/qq_43085611/article/details/112994515