Docker는 데몬이 항상 실행되어야 하는 불편함이 있습니다. 최근에는 표준인 podman을 사용하고 있는 경우가 많아 설치해 보았습니다.
1 설치
현재 우분투에 기본 패키지로 들어있지 않기 때문에 패키지를 추가하여 설치합니다.
command line에서 wsl을 실행합니다.
$ 프롬프트가 나오면 다음을 실행합니다.
. /etc/os-release
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update -qq
sudo apt-get -qq -y install podman
sudo mkdir -p /etc/containers
echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | sudo tee /etc/containers/registries.conf
출처 : https://www.redhat.com/sysadmin/podman-windows-wsl2
How to run Podman on Windows with WSL2
With the latest Windows Subsystem for Linux (WSL) 2.0 implementation, Podman now works out of the box. Minor changes to a configuration file make Podman more convenient to use. In the upcoming sections, I will document how I ran Podman under WSL2 and what
www.redhat.com
2. 실행
다음에 tensorflow등을 실행하려면 다음과 같이 입력하면 됩니다.
podman run -it -p 8888:8888 --name monster_tf -e LANG=ko_KR.UTF-8 -v /mnt/c/users/사용자/Documents/notebooks:/notebooks dash00/tensorflow-python3-jupyter
참고로 /mnt/c/와 /mnt/d등은 기본으로 wsl에서 제공합니다. mount 명령을 실행하면 알수 있습니다.
다음에 실행하려면
podman start -ia monster_tf로 하면 됩니다.
중지는 podman stop monster_tf 입니다.
3. cmd에서 바로 실행하기
Ubuntu를 기본으로 설정했을 경우입니다.
wsl --exec podman start -ia monster_tf 를 입력하면 바로 실행됩니다.
bash를 하려면 다음과 같이 입력합니다.
wsl --exec podman start monster_tf
wsl --exec podman exec -it monster_tf /bin/bash
wsl에서 중지하려면
wsl --exec podman stop monster_tf
입니다.
wsl을 멈추려면
wsl --shutdown
이라고 하면 됩니다.
4. 기타
암호를 설정해서 실행하고자 하면 웹 화면에서 python3 화일을 만들고 다음을 실행합니다.
from IPython.lib import passwd
passwd()
실행해서 나오는 'sha1:xxxxxxxx'을 복사하여 놓습니다.
웹화면에서 터미널을 실행하고 (새로만들기-터미널)
/root/.jupyter/jupyter_notebook_config.py 파일에 복사한 암로를 추가합니다.
c.NotebookApp.password = 'sha1:xxxxxxxx'
한글은 터미널에서 다음과 같이 실행하면 됩니다.
root@host:/notebooks# apt-get update
root@host:/notebooks# apt-get install locales
root@host:/notebooks# locale-gen ko_KR.UTF-8
root@host:/notebooks# locale -a
시간은 아래와 같이 실행하면 됩니다.
root@host:/notebooks# apt-get install tzdata
root@host:/notebooks# tzselect
4: Asia
23: Korea (South)
Asia/Seoul
root@host:/notebooks# ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
사용법은 일반적으로 docker 대신 podman을 이용하면 됩니다.
docker와 유사합니다.
추가 : 간혹 아래와 같은 오류가 나오는 경우에는
ERROR [0191] unable to close namespace: "close /proc/2018/ns/user: bad file descriptor"
ps -ef 해서 podman을 kill 하면 됩니다.
자세한 사용법은 아래의 사이트를 참조하시면 좋습니다.
https://chhanz.github.io/container/2020/03/02/podman/
[Container] Podman 설치 및 사용법
Podman 이란? Red Hat Enterprise Linux 8 / CentOS 8 부터는 Docker 대신 Podman 이라는 도구를 제공합니다. Podman 은 Docker 와 동일하게 단일 노드에서 pod, 컨테이너 이미지 및 컨테이너를 관리합니다. Pod 라고 하는 컨테이너 및 컨테이너 그룹을 관리할 수 있는 libpod 라이브러리를 기반으로 합니다. RHEL 8 Release Note 이번 포스팅에서는 Podman 의 설치 및 기본 사용법에
chhanz.github.io
'AI' 카테고리의 다른 글
Tensor flow용 Dockerfile (0) | 2020.02.13 |
---|---|
Docker jupyter notebook 한글 관련 (1) | 2020.02.13 |
jupyter_notebook_config.py (0) | 2020.02.12 |
nupic 사용법 (0) | 2019.03.14 |