Docker를 사용하여 Linux에서 컨테이너를 빠르게 마이그레이션하고 원격 관리하는 방법은 무엇입니까?
개요
Docker는 애플리케이션의 신속한 배포 및 관리를 가능하게 하는 일반적으로 사용되는 컨테이너화 기술입니다. Linux 환경에서는 Docker의 설치 및 사용이 비교적 간단하며 명령줄이나 시각적 도구를 통해 작동할 수 있습니다. 이 문서에서는 Docker를 사용하여 Linux에서 컨테이너의 신속한 마이그레이션 및 원격 관리를 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다.
Docker 설치 및 구성
먼저 Linux 시스템에 Docker를 설치해야 합니다. 대부분의 Linux 배포판에서는 apt, yum 또는 dnf와 같은 패키지 관리자를 통해 설치할 수 있습니다. 다음은 Ubuntu 시스템에 Docker를 설치하는 명령의 예입니다.
$ sudo apt-get update $ sudo apt-get install docker.io
설치가 완료된 후 다음 명령을 실행하여 Docker가 성공적으로 설치되었는지 확인할 수 있습니다.
$ docker version
다음으로 사용자 그룹을 생성해야 합니다. Docker에 원격으로 액세스할 수 있습니다. 수동으로 그룹을 생성한 다음 기존 사용자를 그룹에 추가할 수 있습니다. 그런 다음 사용자 그룹 변경 사항을 적용하려면 다시 로그인해야 합니다.
$ sudo groupadd docker $ sudo usermod -aG docker $USER $ newgrp docker
마지막으로 Docker 서비스를 다시 시작해야 적용됩니다.
$ sudo systemctl restart docker
먼저 컨테이너의 현재 상태를 소스 호스트에 이미지로 저장합니다.
$ docker commit <container_id> <image_name>
여기서 a3f94dbaba3a4609eaf634c1155b4c45
는 소스 호스트에서 실행 중인 컨테이너의 식별자입니다. <image_name></image_name>
은 새 이미지의 이름입니다. a3f94dbaba3a4609eaf634c1155b4c45
是源主机上正在运行的容器的标识符,ce03ab434069df82ad6c460dc73e6e7f
是新镜像的名称。
然后,将镜像导出到文件中:
$ docker save <image_name> -o <output_file>
其中,ce03ab434069df82ad6c460dc73e6e7f
是要导出的镜像的名称,b7b5b31f12e50fe5c07d3380f0f22872
是导出的文件的路径。
接着,在目标主机上导入镜像文件:
$ docker load -i <input_file>
其中,36328e9190f67c1edfebd68673a16971
是导入的镜像文件的路径。
最后,运行导入的镜像:
$ docker run -d <image_name>
首先,需要在Docker服务的配置文件中启用远程API。编辑/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock여기서
ce03ab434069df82ad6c460dc73e6e7f
는 내보낼 이미지의 이름이고 b7b5b31f12e50fe5c07d3380f0f22872
은 내보낸 파일 경로입니다. 다음으로 대상 호스트에 이미지 파일을 가져옵니다. $ sudo systemctl daemon-reload $ sudo systemctl restart docker
36328e9190f67c1edfebd68673a16971
는 가져온 이미지 파일의 경로입니다. 마지막으로 가져온 이미지를 실행합니다. $ curl http://localhost:2375/version
Docker는 HTTP RESTful 인터페이스를 통해 컨테이너와 이미지를 관리할 수 있는 원격 API를 제공합니다. 컬 명령을 사용하거나 스크립트를 작성하여 Docker를 원격으로 관리할 수 있습니다.
/lib/systemd/system/docker.service
파일을 편집하고 ExecStart 줄을 다음과 같이 변경합니다. $ curl http://localhost:2375/containers/json그런 다음 Docker 서비스를 다시 로드하고 다시 시작합니다.
$ curl -X POST http://localhost:2375/containers/create?name=<container_name> -d '{"Image":"<image_name>"}' $ curl -X POST http://localhost:2375/containers/<container_id>/start
$ curl -X POST http://localhost:2375/containers/<container_id>/stop
$ curl -X DELETE http://localhost:2375/containers/<container_id>컨테이너 시작:
import requests url = "http://localhost:2375/containers/json" response = requests.get(url) containers = response.json() for container in containers: print(container["Names"][0])
위 내용은 Docker를 사용하여 Linux에서 컨테이너를 빠르게 마이그레이션하고 원격 관리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!