이 블로그 검색

2017년 12월 18일 월요일

docker 기본 사용 - Ubuntu

설치된 docker engine 확인
u0018670@sys-90572:~$ dpkg -l |grep docker
ii  docker.io                           1.13.1-0ubuntu1~16.04.2                    ppc64el      Linux container runtime
ii  runc                                1.0.0~rc2+docker1.13.1-0ubuntu1~16.04.1    ppc64el      Open Container Project - runtime


아무런 docker image 가 없는 것을 확인
u0018670@sys-90572:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE


그래서, ppc64le/ubuntu docker image 를 실행시키면 latest 로 docker hub 로 부터 docker tag 가 latest 인 것을 download 후 docker 실행
u0018670@sys-90572:~$ sudo docker run -it ppc64le/ubuntu
Unable to find image 'ppc64le/ubuntu:latest' locally
latest: Pulling from ppc64le/ubuntu
586a07d977d9: Pull complete
2bf911559ec0: Pull complete
48999c060756: Pull complete
fa5e5494889f: Pull complete
3bd4f80d03d3: Pull complete
Digest: sha256:79d11934f87adb78614d5ca93092f6681ca154c2bd9df56a7027615c56d53e41
Status: Downloaded newer image for ppc64le/ubuntu:latest

root@b916c38bbbb7:/# ls     <== docker container 안
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@b916c38bbbb7:/# exit

exit

생성된 docker image 확인
u0018670@sys-90572:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ppc64le/ubuntu      latest              44c2eaa37868        3 days ago          150 MB


수행중인 container 확인
u0018670@sys-90572:~$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
b916c38bbbb7        ppc64le/ubuntu      "/bin/bash"         54 seconds ago      Exited (0) 17 seconds ago                       epic_cori


exit 한 container 재시작
u0018670@sys-90727:~$ sudo docker start confident_euclid
confident_euclid
u0018670@sys-90727:~$ sudo docker attach confident_euclid
root@0f647ddac01a:/#


수행중인 container 를 image 로 commit
u0018670@sys-90727:~$ sudo docker commit 58d0d814ae31 ppc64le/ubuntu:latest
sha256:4de2af599de3a7a0aa2351a9fcb6e9b8cbaa8f3a345d6fed03291477097da82d
u0018670@sys-90727:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
ppc64le/ubuntu      latest              4de2af599de3        About a minute ago   260MB
ppc64le/ubuntu      16.04               44c2eaa37868        3 weeks ago          150MB


수행중인 container 삭제
u0018670@sys-90572:~$ sudo docker rm epic_cori
epic_cori

u0018670@sys-90572:~$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

u0018670@sys-90572:~$
한꺼번에 모든 container 삭제는 docker rm $(docker ps -a -q)

다음은 2개의 container 가 시작된 상황. (ppc64le/ubuntu 이미지로 eager_hugle, quirky_pike)
u0018670@sys-90572:~$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                      PORTS               NAMES
eaf515d4a2c6        ppc64le/ubuntu      "/bin/bash"         16 seconds ago       Exited (0) 12 seconds ago                       eager_hugle
4e3e7338019b        ppc64le/ubuntu      "/bin/bash"         About a minute ago   Exited (0) 21 seconds ago                       quirky_pike


container 수행 중이기에 삭제 되지 않는 docker image, rm 옵션으로 container 를 먼저 삭제 후 image 삭제
u0018670@sys-90572:~$ sudo docker rmi ppc64le/ubuntu
Error response from daemon: conflict: unable to remove repository reference "ppc64le/ubuntu" (must force) - container 4e3e7338019b is using its referenced image 44c2eaa37868
u0018670@sys-90572:~$


docker hub 에 생성된 이미지 upload
u0018670@sys-90461:~/data$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
leearmy/cudnn6      ppc64le             de632816acda        About an hour ago   6.58GB
leearmy/ubuntu      16.04               23296ffbcbfc        4 hours ago         359MB
ppc64le/ubuntu      16.04               44c2eaa37868        3 days ago          150MB

다음 명령어를 수행하기 위해서는 먼저 https://hub.docker.com/ 에 계정과 repository 를 생성하여야 함
u0018670@sys-90461:~/data$ sudo docker login --username=leearmy
Password:
Login Succeeded
u0018670@sys-90461:~/data$ sudo docker push leearmy/cudnn6:ppc64le
The push refers to a repository [docker.io/leearmy/cudnn6]
026ec1f6d915: Pushed
c963a10dda0d: Pushed
4a08cdc31ed0: Pushed
49076433d00c: Pushed
8788fee75149: Pushed
d9561c8b4bf3: Pushed
54ac221998f0: Pushed
b10475677e3b: Pushed
adf3a2526761: Pushed
e8449de7ace1: Pushed
0c5b7df1df7c: Pushed
b1dc141f6073: Mounted from ppc64le/ubuntu
448bb1e132fc: Mounted from ppc64le/ubuntu
e7f4651b678d: Mounted from ppc64le/ubuntu
ee8f1c150908: Mounted from ppc64le/ubuntu
258cc4d5502c: Mounted from ppc64le/ubuntu
ppc64le: digest: sha256:3df7ee55f48c08fe7dc836c60053867dac28ada8b7eb9b9413b09e5361e4937c size: 3690


다음과 같이 https://hub.docker.com/ 에서 올려진 이미지 확인


docker hub 에 올려진 이미지는 다른 서버에서 pull
u0018670@sys-90572:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ppc64le/ubuntu      latest              44c2eaa37868        3 days ago          150 MB
u0018670@sys-90572:~$ sudo docker pull leearmy/cudnn6:ppc64le
ppc64le: Pulling from leearmy/cudnn6
586a07d977d9: Already exists
2bf911559ec0: Already exists
48999c060756: Already exists
fa5e5494889f: Already exists
3bd4f80d03d3: Already exists
3d482c0c4d09: Pull complete
9e891e52327a: Pull complete
a40daf5d9d7f: Pull complete
2ca681ce2118: Pull complete
111379f9235b: Pull complete
9db8b0fb9301: Pull complete
b2b39482e9b8: Pull complete
93f5e3ec7d59: Pull complete
38e0ece0a1d4: Pull complete
dbc7427ab4ea: Pull complete
f1cc2b939ac9: Pull complete
Digest: sha256:3df7ee55f48c08fe7dc836c60053867dac28ada8b7eb9b9413b09e5361e4937c
Status: Downloaded newer image for leearmy/cudnn6:ppc64le
u0018670@sys-90572:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
leearmy/cudnn6      ppc64le             de632816acda        20 hours ago        6.58 GB
ppc64le/ubuntu      latest              44c2eaa37868        3 days ago          150 MB
u0018670@sys-90572:~$





댓글 없음:

댓글 쓰기