Search

'Programming/Docker'에 해당되는 글 1건

  1. 2021.06.02 Docker - 1 설치 및 기본 커맨드

Docker - 1 설치 및 기본 커맨드

Programming/Docker 2021. 6. 2. 17:05 Posted by big_brother

왜 써야하는지, 어디에 써야하는지, 어떤 이점이 있는지는 너무 많은 곳에 있기에 바로 설치와 테스트를 진행하겠습니다.

기본적으로 우분투 베이스로 진행하겠습니다. 테스트를 진행한 우분투는 18.04 버전입니다.

설치

$ sudo apt-get install docker.io
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker

설치 후 테스트를 하기 위해 anaconda3를 설치해보도록 하겠습니다.

그를 위해서 docker repository에 anaconda3를 검색합니다.

$ docker search anaconda3

NAME                                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
continuumio/anaconda3                    Powerful and flexible python distribution       526                  [OK]
okwrtdsh/anaconda3                       Anaconda3, Jupyter Notebook, OpenCV3, Tensor…   34                   [OK]
fzinfz/anaconda3                         multi-kernel jupyter(py 3.7+/2.7.15 & bash) …   4                    
marketdial/anaconda3-uwsgi-nginx-flask   A custimized image based on anaconda3 with u…   2                    
quantrocket/anaconda3-uwsgi              Learn more at https://www.quantrocket.com       1                    [OK]
vineeth52/anaconda3-tf-keras             Docker image for ubuntu-latest + anaconda3 +…   1                    
kunitaya/anaconda3                       Anaconda3 on CentOS                             1                    [OK]
satbala1/anaconda3                       Anaconda3 install with Jupyter Notebook         1                    
alleninstitute/anaconda3_neuron_1370                                                     1                    
xychelsea/anaconda3                      Anaconda 3 base containers, including with N…   1                    
hdfeos/anaconda3                         Anaconda3 for http://hdfeos.org/zoo             0                    [OK]
byeong0/anaconda3                        anaconda3                                       0                    
tactileentertainment/anaconda3-onbuild   An onbuild image to deploy anaconda3 based p…   0                    [OK]
ryomazda/anaconda3                       anaconda3 on ubuntu18.04 with jupyter nbexte…   0                    
lresende/anaconda3                                                                       0                    
shimtom/anaconda3-ubuntu                 anaconda3 in ubuntu                             0                    [OK]
yan047/anaconda3                         Anaconda3-4.2.0 on top of ubuntu 16.04          0                    [OK]
svekre/anaconda3                         Test Anaconda3 for ProDi Bioinf Workgroup       0                    
nabladesignlabs/anaconda3-ubuntu         docker for anaconda3-ubuntu                     0                    [OK]
ssusb/anaconda3                                                                          0                    
hoto17296/anaconda3-ja                   Anaconda 3 Image for Japanese.                  0                    [OK]
xuliwei1216/anaconda37_tf23_flink11                                                      0                    
shotat/anaconda3-xgboost-docker          anaconda3 & xgboost                             0                    [OK]
vshulkin/anaconda3                       anaconda3 4.5.1 with python 2.7 and python 3…   0                    [OK]
dieudonne/anaconda3                      Jupyter notebook based on continuumio/anacon…   0                    

 

이중에서 별을 많이 받은 continuumio/anaconda3을 다운로드 하도록 하겠습니다.

 

$ docker pull continuumio/anaconda3
Using default tag: latest
latest: Pulling from continuumio/anaconda3
69692152171a: Already exists 
99ee0a02a284: Pull complete 
Digest: sha256:037174b951b838bb47aaf6f527d3c7f996dc4445415bfc0ace391820df4c2d5b
Status: Downloaded newer image for continuumio/anaconda3:latest
docker.io/continuumio/anaconda3:latest

 

설치 완료 후 docker run을 통해서 컨테이너를 실행해보도록 하겠습니다.

 $ docker run -it --rm --name anaconda3 -v /home/myhome/docker_temp/:/docker_temp  continuumio/anaconda3 bin/bash

 

파라메터들의 의미는 아래와 같다.

-it : bash 쉘에 접근하기 위한 커센트입니다.

--rm : docker shell에서 exit로 빠져나올때 리소스들을 자동으로 정리해줍니다.

--name : 별명을 만들어서 나중에 다시 연결하기 쉽게 만들어줍니다.

-v : 도커 내부에서 외부 폴더 연결을 하게 해줍니다. -v external folder:internal folder 형식으로 구성됩니다.

 

이런식으로 컨테이너를 작동하게 되면 아래와 같이 docker shell로 들어가게 됩니다.

(base) root@4096c6b37cc7:/#

이후 ls를 치게 되면 아래와 같이 나옵니다.

bin  boot  dev	docker_temp  etc  home	lib  lib64  media  mnt	opt  proc  root  run  sbin  srv  sys  tmp  usr	var

 중간에 보면 docker_temp가 나오게 되는데 docker 컨테이너가 중지되면 데이터들이 지워지게 되는데 해당 폴더로 데이터들을

남겨 놓을 수 있습니다.

 

이후 해당 폴더에서 데이터 편집 후 docker에서 빌드가 가능합니다.