2019. 8. 15. 22:25ㆍ개발/Docker
으음 도커까지 해야 할 줄 몰랐지만, 현재 작업하려는 환경이 도커 안에 jupyterhub 환경인데,
Flask를 켜고 싶은데, 도저히 불가능한 것 같아서.... 해야한다면 새로 도커 환경을 만들고 Flask를 띄워야 할 것 같아.
기초부터 공부를 시작한다..
(기초만 파다가 그냥 끝나겠다...ㅠㅠ)
https://hiseon.me/linux/ubuntu/install-docker/
일단 위에 있는 방법대로 설치를 쭉 하니 잘됬다.
내가 지금 쓰는 환경은 Ubuntu 16.04이다!
nvidia-driver docker는 일단 설치를 안 했다
일단 명령어를 잘 몰라서 여러 가지를 막 시도했었다.
일단 image는 나와 지금 상황이 맞을 것 같은 medium을 찾아서 하였다. ( 2017이라서 tensor flow 버전이 1.1.0이었다...)
일단 이미지를 가져오자
docker pull dash00/tensorflow-python3-jupyter
여기서 나의 환경은 고정 아이피로 진행되다 보니 여러 실패를 하였다! 그래서 열심히 검색!
https://codeday.me/ko/qa/20190318/54729.html
그래서 이렇게 network를 만들었다. subnet은 다들 약간 저런 수로 이루어져 있던데 왜 저렇게 하는지는 모르겠다 ㅎ
docker network create --subnet=172.18.0.0/16 mynet
## 단순 예시
docker run --net mynet --ip 172.18.0.22 -it ubuntu bash
그리고 run을 해준다.
docker run --ip [고정아이피] --name py3 -p 1111:1111 -p 1112:1112 -it dash00/tensorflow-python3-jupyter bash
처음에 이 명령어들은 다 뭔 소릴까 하다가 깨달은 것은
- -p는 어떤 포트를 쓸지 지정하는 것 같다. 그래서 여기서 저렇게 하면 1111 , 1112 2개를 사용할 수 있는 것 같다.(아닐 수도)
- --name 이미지 run 한 거 이름 지정해주기 나중에 $ docker start py3 $ docker attach py3 하면 다시 들어가진다.
- -it : 잘 모르겠지만 터미널 입력을 위해 필요하다니 필수!
- -v : host와 container의 디렉터리를 연결(마운트!)
- --ip 고정 아이피 넣어주는 것
https://nicewoong.github.io/development/2017/10/09/basic-usage-for-docker/
docker images
저렇게 짠 하면 들어가진다!
지금 여기에는 이미지에 tensor flow/py3/jupyter 가 그냥 깔려있다!
그리고 여기서 나는 지금 이 서버에서 jupyter notebook을 쓰기 때문에 port를 8888을 쓸 수 없으니 변경해야 한다.
일단 script를 수정하기 위해 들어간 후 vim 설치!
apt-get update
apt-get install vim
그다음에 수정하는 파일로 들어가기!
vi ~/.jupyter/jupyter_notebook_config.py
원래 저 찐한 노란색 부분이 8888이었는데 1111로 변경하였다.
이제 실행!
/run_jupyter.sh --allow-root --NotebookApp.token=''
접속이 되어서 확인해보니 저렇게 나온다!
-끝-
docker 접속 및 나가기
docker exec -it #### /bin/bash
exit
'개발 > Docker' 카테고리의 다른 글
[vscode] 원격서버에서 docker container 접속하기 (2) | 2021.02.06 |
---|---|
[Docker] centos 7에서 docker 설치하기 (0) | 2021.01.26 |
[Docker] Docker Hub에 Private repository에 docker image 올리기 (0) | 2021.01.26 |
[Docker] 처음하는 사람도 쉽게 Docker file 만들고 build 해보기 (0) | 2020.05.09 |
[Docker] iptables failed - No chain/target/match by that name 문제 해결하기 (0) | 2020.04.17 |