>백엔드 개발 >PHP 튜토리얼 >Linux에서 Docker를 설치하고 사용하는 방법

Linux에서 Docker를 설치하고 사용하는 방법

小云云
小云云원래의
2018-03-13 09:14:422346검색

이 글에서는 주로 Linux에서 Docker를 설치하고 사용하는 방법을 소개합니다. 편집자는 이것이 꽤 좋다고 생각하므로 여러분에게 도움이되기를 바라며 지금 공유하겠습니다.

Docker를 사용하면 컨테이너를 매우 쉽게 생성, 배포 및 관리할 수 있습니다. 더 좋은 점은 Linux 플랫폼에서 Docker를 설치하고 사용하는 것이 특히 편리하다는 것입니다.

Linux에 Docker를 설치하고 Docker를 시작하는 것이 얼마나 쉬운지 보여드리겠습니다. 내 데모 플랫폼은 Ubuntu 16.04 Server이지만 프로세스는 대부분의 다른 Linux 플랫폼과 유사합니다.

여기에서는 Ubuntu Server 16.04를 시작했다고 가정합니다.

Installation

Ubuntu Server 16.04에는 그래픽 인터페이스가 없기 때문에 Docker를 전적으로 명령줄을 통해 설치하고 사용하겠습니다. 설치하기 전에 apt를 업데이트한 다음 필요한 업그레이드를 수행해야 합니다. 시스템 커널이 업그레이드되면 시스템을 다시 시작해야 한다는 점에 유의하는 것이 중요합니다. 따라서 서버를 다시 시작할 수 있는 시간을 선택하는 것이 가장 좋습니다.

다음 명령을 실행하여 apt를 업데이트하세요.


sudo apt update

완료 후 다음 명령을 사용하여 시스템을 업그레이드하세요.


sudo apt upgrade

커널이 업그레이드되면 다음 명령으로 서버를 다시 시작해야 합니다.


sudo reboot

커널이 업그레이드되지 않은 경우 Docker를 설치할 수 있습니다(재부팅 필요 없음). Docker 설치 명령은 다음과 같습니다.


sudo apt install docker.io

다른 Linux 배포판을 사용 중이고 해당 패키지 관리자를 사용하여 설치하려고 할 때 docker.io 패키지가 없는 경우 docker 패키지를 설치해야 합니다. 예를 들어 Fedora에 설치하려면 다음 명령을 사용해야 합니다.


sudo dnf install docker

CentOS 7을 사용하는 경우 설치 스크립트를 사용하여 docker를 설치하는 것이 가장 좋습니다. 먼저 sudo yum check-update 명령을 사용하여 시스템을 업데이트합니다. 업그레이드 후 다음 명령을 입력하여 필요한 스크립트를 다운로드하고 실행합니다.


curl -fsSL https://get.docker.com/ | sh

기본적으로 관리자 권한만 docker 명령을 실행할 수 있습니다. 보안상의 이유로 Docker를 루트로 실행하거나 sudo를 사용하고 싶지 않습니다. 이 문제를 해결하려면 사용자를 docker 그룹에 추가해야 합니다. 명령어는 다음과 같습니다.


sudo usermod -a -G docker $USER

작업 완료 후 시스템에서 로그아웃했다가 다시 로그인하면 완료되어야 합니다. 그러나 플랫폼이 Fedora인 경우 docker 그룹에 사용자를 추가하면 이 그룹이 존재하지 않는다는 것을 알게 됩니다. 그럼 무엇을 해야 할까요? 먼저 이 그룹을 만들어야 합니다. 명령은 다음과 같습니다.


sudo groupadd docker && sudo gpasswd -a ${USER} docker && sudo systemctl restart docker
newgrp docker

로그아웃한 후 다시 로그인하세요. Docker 사용을 시작할 수 있습니다.

Docker 시작, 일시 중지 및 활성화

Docker를 설치한 후 시작 시 시스템이 자동으로 Docker 데몬을 시작하도록 할 수 있습니다. 이를 달성하려면 다음 두 명령을 사용하십시오.


sudo systemctl start docker
sudo systemctl enable docker

Docker 데몬을 일시 중지하거나 다시 시작해야 하는 경우 명령은 다음과 같습니다.


sudo systemctl stop docker
sudo systemctl restart docker

이제 Docker를 사용하여 컨테이너를 배포할 수 있습니다.

이미지 가져오기

Docker의 경우 이미지는 컨테이너 구축의 초석입니다. 이미지(예: NGINX)를 풀다운하고 이 이미지를 기반으로 컨테이너를 원하는 만큼 배포할 수 있습니다. 이미지를 사용하기 전에 먼저 이미지를 시스템으로 가져와야 합니다. 이미지는 등록 웨어하우스에서 가져옵니다. 기본적으로 설치된 Docker에는 기본 등록 웨어하우스인 Docker Hub가 포함되어 있습니다. 이 등록 웨어하우스에는 다른 사람이 제공한 이미지(공식 이미지 및 사용자가 직접 제공한 이미지 포함)가 포함되어 있습니다.

Nginx 웹 서버 관련 이미지를 가져오고 싶다고 가정해 보세요. 가져오기를 시작하기 전에 먼저 시스템에 이미 어떤 이미지가 있는지 확인하세요. docker Images 명령을 입력하면 아직 이미지가 없다는 것을 알 수 있습니다(그림 1).

사진 1: 아직 거울이 없습니다.

이미지를 가져와 보겠습니다. Docker Hub에서 Nginx 이미지를 다운로드하려면 다음 명령을 사용하세요.


docker pull nginx

위 명령은 Docker Hub에서 최신(공식) Nginx 이미지를 다운로드합니다. 이제 docker Images 명령을 실행하면 나열된 이미지를 볼 수 있습니다(그림 2).

그림 2: NGINX 이미지가 풀다운되었습니다.

여기서 "공식" Nginx 이미지라고 말한 것을 눈치채셨나요? Docker Hub에는 비공식 Nginx 이미지가 많이 있습니다. 이러한 비공식 거울은 다양한 목적으로 만들어졌습니다. 다음 명령을 사용하여 Docker Hub에서 모든 Nginx 이미지를 검색할 수 있습니다.


docker search nginx

你会发现(图 3 中),有很多基于不同目的所创建的 Nginx 镜像(反向代理、PHP-FPM(LCTT 译注:FastCGI 进程管理器FastCGI Process Manager是一个 PHPFastCGI 管理器,旨在将 FastCGI 进程管理整合进 PHP 包中)功能、LetsEncrypt(LCTT 译注:由 ISRG 提供的免费 SSL 项目),Bitnami,在树莓派上使用的 Nginx 和 Drupal,等等很多很多)。


图 3:Docker Hub 上找到的各种 NGINX 镜像。

假设,你想要下载内建有反向代理功能的 Nginx 镜像,有个非官方的镜像 jwilder/nginx-proxy。因此输入下面命令来拉取这个镜像:


docker pull jwilder/nginx-proxy

再输入 docker images 命令来查看新拉下来的这个镜像(图 4)。

图 4:已经有了两种不同的 NGINX 镜像了。

处于谨慎考虑,我建议只使用官方镜像,毕竟你无法确定非官方镜像是否包含了恶意代码。

有了镜像后就可以用它来部署容器了。下次我们再聊聊如何通过这些 Nginx 镜像来发布容器。

Docker 是一个超级强力的系统可以让你的工作更简单,让你的公司更具有伸缩性,也更灵活。想知道 Docker 还能做什么,运行 man docker 然后阅读它的帮助文档吧。

相关推荐:

使用docker基于daocloud自动化部署到自己的主机

如何使用Docker部署PHP开发环境

关于如何使用docker构建php的开发环境

위 내용은 Linux에서 Docker를 설치하고 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.