728x90
Docker Engine은 애플리케이션을 빌드하고 컨테이너화하기위한 오픈 소스 컨테이너화 기술입니다. 도커는 아래와 같은 영역으로 나누어 집니다.
- 오래 실행되는 데몬 프로세스가있는 서버 : dockerd.
- 프로그램이 Docker 데몬과 통신하고 지시하는 데 사용할 수있는 인터페이스를 지정하는 API.
- 명령 줄 인터페이스 (CLI) 클라이언트: docker.
CLI는 Docker API를 사용하여 스크립팅 또는 직접 CLI 명령을 통해 Docker 데몬을 제어하거나 상호 작용합니다.
도커 설치 하기
최근 Centos는 도커가 기본적으로 설치가 되어 있다. (minimal 설치라면 해야할 일들이 많아서 제외한다.)
사용자 sudo 권한 주기
sudo 명령을 사용하기 위해서는 아래와 같은 작업이 필요합니다.
# 사용자에게 권한주기
sudo usermod -aG docker your-user
# 현재 접속중인 사용자에게 권한주기
sudo usermod -aG docker $USER
# 현재 사용자의 계정 그룹을 확인합니다. ( group : admin, vboxsf )
$ id
uid=1000(admin) gid=1000(admin) groups=1000(admin),975(vboxsf)
$sudo usermod -aG admin,vboxsf, docker $USER
$ id
uid=1000(admin) gid=1000(admin) groups=1000(admin),974(docker),975(vboxsf)
OS 요구 사항
Docker Engine-Community를 설치하려면 CentOS 7의 유지 보수 버전이 필요합니다. 아카이브 된 버전은 지원되거나 테스트되지 않았습니다. 그리고 centos-extras저장소는 사용할 수 있어야합니다.
이전 버전 제거
기존에는 "Docker"를 'docker'라고 했습니다. docker-engine이 설치되어 있으면 관련 종속성과 함께 설치 제거한다.
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum보고서는 이러한 패키지 중 어느 것도 설치되어 있지 않은지 확인합니다.
저장소를 사용하여 설치
1.필요한 패키지를 설치
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2. 안정적인 저장소 를 설정
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
ym-config-manager--disable--enable 을 이용하여 test 버전과 나이트 버번을 사용 중지 할 수 있습니다.
sudo yum-config-manager --disable docker-ce-nightly
3. DOCKER ENGINE 설치
$ sudo yum install docker-ce docker-ce-cli containerd.io
버전이 맞지 않는경우 --nobest 옵션을 사용하여 설치하는 것도 대안이다.
sudo dnf install --nobest docker-ce
아니면 명시적으로 아래 버전을 명시하여 설치하는 것도 방법이다.
$ https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
containerd.io-1.2.6-3.3.el7.x86_64.rpm 2019-10-18 21:56:47 25.9 MiB
docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpm 2019-10-18 21:56:49 30.4 MiB
docker-ce-18.09.9-3.el7.x86_64.rpm 2019-10-18 21:56:52 21.2 MiB
docker-ce-19.03.6-3.el7.x86_64.rpm 2020-02-13 02:56:07 24.5 MiB
docker-ce-cli-18.09.9-3.el7.x86_64.rpm 2019-10-18 21:56:53 15.6 MiB
docker-ce-cli-19.03.6-3.el7.x86_64.rpm 2020-02-13 02:56:08 39.5 MiB
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm 2019-10-18 21:56:54 28.4 KiB
docker-ce-selinux-17.03.3.ce-1.el7.noarch.rpm 2019-10-18 21:56:54 28.7 KiB
yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm -y
yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.6-3.el7.x86_64.rpm -y
yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.6-3.el7.x86_64.rpm -y
yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.3.ce-1.el7.noarch.rpm -y
4. Docker를 시작
$ sudo systemctl start docker
5. hello-world 이미지 를 실행하여 Docker Engine-Community가 올바르게 설치되었는지 확인
$ sudo docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
# rpm -qa | grep docker
docker-ce-cli-19.03.6-3.el7.x86_64
docker-ce-19.03.6-3.el7.x86_64
# rpm -qa | grep containerd
containerd.io-1.2.6-3.3.el7.x86_64
2. 도커 설정 기본 명령
$ docker --version
Docker version 19.03.6, build 369ce74a3c
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752
Status: Downloaded newer image for hello-world:latest
$ docker container ls --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b339ca93c51f hello-world "/hello" 36 seconds ago Exited (0) 34 seconds ago determined_williamson
728x90
반응형
'InfraPlatform' 카테고리의 다른 글
Linux - Rsyncd install - Centos8 (0) | 2020.03.08 |
---|---|
Linux - Rsyncd 설치와 selinux 문제 해결법 (Centos8) (0) | 2020.03.08 |
Docker부터 Kubernetis 까지 - (2) 도커 이미지 만들기 (0) | 2020.03.01 |
리눅스설치-hostname 변경하기 : CentOS 6 & 7 (0) | 2018.10.21 |
linux sudo 권한 부여 하기 (0) | 2018.09.25 |
Kernel-ml for Enterprise Linux 7 install (0) | 2017.12.10 |
Linux grub2 change default kernel (0) | 2017.12.10 |