앎을 경계하기

Anything

[Docker] 도커 초보 탈출하기 part 2 - MySQL, 주피터 랩 사용하기

양갱맨 2021. 4. 26. 11:40

지난 시간에 이어.. 이번에는 다양한 이미지를 다운로드받고 컨테이너를 사용해보자.

 

환경 변수 사용해서 데이터 전달하기

  • nginx 이미지 다운로드 및 컨테이너 실행이 된다.
docker run -d --name nx -e env_name=test1234 nginx

-e 변수명=값 을 통해 환경변수를 설정한다.

  • nx bash를 실행한다.
docker exec -it nx bash
  • 환경변수 확인하기
printenv [특정변수이름]

MySQL 이미지 다운로드받기

https://hub.docker.com/_/mysql

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

보안 상 컨테이너에서 바꿔줘야하는 것들이 있다. 그것들을 환경변수에서 지정한다.

환경변수 이름은 제작자가 고정해둔 사항이기 때문에 바꾸면 안된다.

이미지 다운로드와 함께 컨테이너 실행이 되는 것을 확인

mysql을 사용할때 포트를 사용해서 접근하는 경우도 있지만 컨테이너로 접속하여 사용하는 경우도 있다.

exec명령을 수행하고 옵션 -u를 사용해서 유저를 지정하고 -p를 입력하고 엔터치면 패스워드를 입력하라는 문구가 나온다.

환경변수로 설정해둔 패스워드 값을 입력해주면 정상적으로 로그인된다.

docker exec -it ms mysql -u root -p

볼륨마운트하기

docker run -v [host path]:[container path]:[authorization] #/tmp:home/user:ro
  • 권한 종류
    • ro : 읽기 전용 - 기본
    • rw : 읽기 및 쓰기

jupyterLab 환경 구축하기

docker run -p 8080:8888 -e JUPYTER_ENABLE_LAB=yes --rm -v "$PWD":/home/jovyan/work:rw jupyter/datascience-notebook

 

익숙한 문구가 보인다.

아까 컨테이너 포트설정해줬던 8080으로 접속해본다.

아래 노란색 부분을 붙여서 입력해주면 된다.

 

www.youtube.com/watch?v=ePpiEy_C_jk