WSL2 CentOS7 및 Docker Desktop으로 만드는 편안한 Docker 환경
소개
Windows에 익숙해져 있는 사람에게 있어서는 Linux계의 CLI는 좀처럼 뭉치기 어렵지요.
Windows판의 Docker Desktop에 탑재되고 있는 WSL2 통합 기능을 사용하면, Windows의 GUI로 컨테이너의 관리를 할 수 있으므로 다소 취급하기 쉬워졌으므로 소개합니다.
전제
절차
대략적인 절차는 다음과 같습니다.
1. WSL2에 CentOS7 설치
CentOS7 얻기
GitHub에서 CentOS7.zip을 다운로드합니다.
htps : // 기주 b. 이 m/wsldl-pg/전 tWSL/레아세 s/타 g/7.0.1907.3
CentOS7 설치
다운로드한 파일을 다음 위치로 압축해제합니다.
C:\Users\username\AppData\Local\Packages
결과적으로 다음 폴더가 만들어지고 폴더에 CentOS.exe가 출력됩니다.
C:\Users\username\AppData\Local\Packages\CentOS7
압축을 푼 CentOS7.exe를 실행하면 설치됩니다.
Windows Terminal 설치
CentOS7 작업을 위해 Windows Store에서 설치합니다.
Windows Terminal에서 시작
Windows Terminal을 시작하고 새 탭을 열면 CentOS7이 목록에 추가되어 클릭하여 시작하는지 확인합니다.
시작시 디렉토리를 루트 홈 디렉토리로 변경
CentOS7 기동시의 커런트 디렉토리가 Windows상의 유저의 홈 디렉토리가 되어 있어 불편하므로, 설정을 열어 root의 홈 디렉토리로 변경한다.
모든 편집기에서 setting.json을 열고 CentOS7 설정에 startingDirectory 설정을 추가합니다.
setting.json
{
"guid": "{a8202b0e-781a-5dab-98e2-e9d469a63619}",
"hidden": false,
"name": "CentOS7",
"source": "Windows.Terminal.Wsl",
"startingDirectory" : "//wsl$/CentOS7/root"
}
CentOS7을 다시 시작하여 설정이 반영되어 있는지 확인.
root의 패스워드 설정은 할애.
2. CentOS7에 Docker 설치
여기에서 CentOS7을 CLI로 조작합니다.
커맨드는 4개만이므로 노력한다.
각 명령에 대한 자세한 내용은 Docker 공식 사이트 "Docker CE 얻기 (CentOS 용)"을 참조하십시오.
우선 다음의 커멘드로 Software Collections 를 도입.
$ yum install -y centos-release-scl-rh
그런 다음 필요한 패키지를 설치합니다.
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Docker 리포지토리를 추가합니다.
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum의 패키지 인덱스를 업데이트합니다.
$ sudo yum makecache fast
그리고 CentOS 용 Docker를 설치합니다.
(버전 지정이 없으면 Docker가 시작되지 않았기 때문에 "centos"부착 버전을 설치)
$ sudo yum install -y docker-ce-18.03.1.ce-1.el7.centos
이 상태로 Docker를 기동하려고 해도 에러가 되지만 신경쓰지 않는 것.
#今はまだ動かない
$ sudo systemctl start docker
Failed to get D-Bus connection: Operation not permitted
3. Windows10에 Docker Desktop 설치
Docker 공식 참조.
4. Docker Desktop에서 WSL2 통합 설정
Docker Desktop 설정 화면을 열고 Resources -> WSL INTEGRATION으로 이동합니다.
Enable integration with additional distros 에 있는 CentOS7의 토글을 ON으로 한다.
Apply & Restart 버튼을 누릅니다.
동작 확인
CentOS7에서 다음 명령을 실행합니다.
$ docker run hello-world
hello-world 의 컨테이너 이미지가 Pull 되어 컨테이너가 기동해, "Hello form Docker!"라고 표시되어 있으면 동작 확인 성공.
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:31b9c7d48790f0d8c50ab433d9c3b7e17666d6993084c002c2ff1ca09b96391d
Status: Downloaded newer image for hello-world:latest
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/
Docker Desktop에서 확인
image 목록에 "hello-world"가 추가되어 CentOS와 연동하고 있는 것을 알 수 있다.
CentOS7에서 확인
물론 CentOS상에서도 같은 것을 확인할 수 있다.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd 2.4 dd85cdbb9987 5 weeks ago 138MB
alpine/git latest 94f8849864da 3 months ago 28.4MB
hello-world latest bf756fb1ae65 12 months ago 13.3kB
이상으로 끝.
Docker Desktop에서 컨테이너 상태를 보거나 RUN하거나 콘솔에 액세스합니다.
어딘가에 누군가의 도움이 되길 바랍니다.
참고 기사
WSL로 CentOS7 설치
Reference
이 문제에 관하여(WSL2 CentOS7 및 Docker Desktop으로 만드는 편안한 Docker 환경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/t_jin/items/e15221100127e1535c6d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(WSL2 CentOS7 및 Docker Desktop으로 만드는 편안한 Docker 환경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/t_jin/items/e15221100127e1535c6d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)