๐ŸณDocker (KT DS 3์ผ์ฐจ)

Jake_Youngยท2020๋…„ 8์›” 5์ผ
0

๋„์ปค, Docker

๋ชฉ๋ก ๋ณด๊ธฐ
5/9
post-thumbnail

๐Ÿ˜ ์ˆ˜์—… ๋‚ด์šฉ

docker ์ด๋ฏธ์ง€ ๋งŒ๋“ค๊ณ  ์—…๋กœ๋“œ ํ•˜๊ธฐ

  • docker run -it --name myalpine alpine
  • docker commit myalpine myOwnImage
  • docker tag myOwnImage ์•„์ด๋””/"ํฌ๋ง์ด๋ฆ„"
    • ์ด๋ฆ„์€ ๊ผญ "๋‚ด ์•„์ด๋””/์ด๋ฏธ์ง€ ์ด๋ฆ„" ํ˜•์‹์„ ์ง€์ผœ์•ผํ•œ๋‹ค.
  • docker login -u "์•„์ด๋””"
    • ๋กœ๊ทธ์ธ์„ ํ•œ๋‹ค.
  • docker push ์•„์ด๋””/"ํฌ๋ง์ด๋ฆ„"

์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ ์˜ฎ๊ธฐ๋Š” ๋ฒ•

  • docker image save ubuntu > u.tar
  • scp u.tar ktds3:/root/u.tar
  • (์ปดํ“จํ„ฐ ๋ฐ”๊ฟ”์„œ) docker image load -i
  • docker image load -i u.tar

์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ์„ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ ์˜ฎ๊ธฐ๋Š” ๋ฒ•

  • docker container export con1 > c.tar
  • docker image import c.tar mycontainer

Dockerfile์„ ์‚ฌ์šฉํ•˜์—ฌ docker image ์ƒ์„ฑํ•˜๊ธฐ

  • Dockerfile์— ํฌํ•จ๋  ๋ช…๋ น์–ด
    • FROM: ์›๋ณธ ์ด๋ฏธ์ง€ ์ด๋ฆ„ ์‚ฌ์šฉ(<์ด๋ฏธ์ง€ ์ด๋ฆ„>:<ํƒœ๊ทธ>)
    • MAINTAINER: ์ž‘์„ฑ์ž ์ด๋ฆ„
    • RUN: Shell Script ๋˜๋Š” Linux Command (์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ ์‹คํ–‰ํ•  ๋ช…๋ น์–ด)
    • VOLUME: ๊ณต์œ ํ•  ํ˜ธ์ŠคํŠธ์˜ ๋””๋ ‰ํ† ๋ฆฌ(์ปจํ…Œ์ด๋„ˆ ์ˆ˜ํ–‰์ค‘ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•ด)
    • CMD: Container๊ฐ€ ์‹คํ–‰๋˜์ž๋งˆ์ž ์‹คํ–‰ํ•  ์‹คํ–‰ ํŒŒ์ผ ํ˜น์€ Shell Script
    • WORKDIR: CMD์—์„œ ์„ค์ •ํ•œ ์‹คํ–‰ ํŒŒ์ผ์ด ์‹คํ–‰๋  Default Directory
    • EXPOSE: ํ˜ธ์ŠคํŠธ์™€ ์—ฐ๊ฒฐํ•  ํฌํŠธ ๋ฒˆํ˜ธ
  • Dockerfile ์˜ˆ์‹œ
    • FROM ubuntu
    • MAINTAINER Yongshik Lee
    • RUN apt-get update -y
    • RUN apt-get install nginx -y
    • RUN echo "daemon off;" >> /etc/nginx/nginx.conf
    • RUN chown -R www-data:www-data /var/lib/nginx
    • VOLUME ["/data", "/etc/nginx/site-enabled", "/var/log/nginx"]
    • WORKDIR /etc/nginx
    • CMD ["nginx"]
    • EXPOSE 80
    • EXPOSE 443

๐Ÿ˜‹ ๋ช…๋ น์–ด

  • docker run -it image /bin/bash
  • docker run -d -p 80:80 image
    • p๋Š” publish๋ฅผ ๋œปํ•œ๋‹ค
  • docker exec -it container /bin/bash
  • uname -a
    • ์ปค๋„ ํ™•์ธ
  • docker ps (-a)
  • docker images(=docker image ls)
  • docker ps (-f status=exited)
  • (ctl+p) + (ctl+q) : ์ผœ๋†“์€ ์ƒํƒœ๋กœ ๋‚˜๊ฐ€๊ธฐ, exit without halt
  • docker ps -q --no-trunc
    • q ๋Š” ์•„์ด๋””๋งŒ ๋ณด์—ฌ๋‹ฌ๋ผ๋Š” ์˜ต์…˜
    • no-trunc๋Š” ์ƒ๋žต๋œ ๊ฒƒ๊นŒ์ง€ ๋ณด์—ฌ๋‹ฌ๋ผ๋Š” ์˜ต์…˜
  • docker rm $(docker ps -aq) -f
    • ํ˜„์žฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‹ค ์‚ญ์„ธํ•˜๊ธฐ
  • echo "Hi" > /usr/local/apache2/htdocs/index.html

๐Ÿคฉ ๊ฟ€ํŒ

OS๋ฅผ ์ผค ๋•Œ๋Š” ๊ผญ -it ์˜ต์…˜์„ ๊ผญ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค!!


๐Ÿค” ์งˆ๋ฌธ

๋„์ปค์ด๋ฏธ์ง€๊ฐ€ MB ๋‹จ์œ„๋ผ๋Š”๋ฐ, ์šด์˜์ฒด์ œ๋ž‘ ์–ธ์–ด๋งŒ ํ•ด๋„ 1GB๊ฐ€ ๋„˜์–ด๊ฐ€๋˜๋ฐ..

  • ๋งž๋‹ค.. ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ ๋‹จ์œ„๊ฐ€ ๋œ๋‹ค..

Docker๋กœ ์šด์˜์ฒด์ œ๋ฅผ ์ผœ๋ฉด ์ง€์›๋˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋Š”๊ฒŒ ๋งž๋‚˜?

  • ๋งž๋‹ค.. ์‹ค์ œ ์‹คํ–‰ํ•ด๋ณด๋ฉด ๋ฌธ์ œ์— ๋ถ€๋”ชํžˆ๊ฒŒ ๋œ๋‹ค.. (docker hub์— ์งˆ๋ฌธํ•ด๋ณด์ž!!)

์œˆ๋„์šฐ๋‚˜ ๋ฆฌ๋ˆ…์Šค์—์„œ ๋„์ปค๋กœ ์ž‘์—…ํ•œ๊ฑด ๋ฆฌ๋ˆ…์Šค์—์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ, ๋ฆฌ๋ˆ…์Šค์—์„œ ๋„์ปค๋กœ ์ž‘์—…ํ•œ ๊ฑธ ์œˆ๋„์šฐ์—์„œ๋Š” ์‹คํ–‰ ๋ชป์‹œํ‚ค๋Š” ๊ฑฐ ๋งž๋‚˜?

  • ์ •ํ™•ํ•˜๋‹ค ใ…‡ใ…‡

์œˆ๋„์šฐ์—์„œ๋Š” ๋ฆฌ๋ˆ…์Šค์šฉ ๋„์ปค๋ฅผ ์ž‘์—…ํ•˜๋ ค๋ฉด ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ ๋ฆฌ๋ˆ…์Šค๋ฅผ ๊น”์•„์„œ ๋ฐ–์— ๋ชป ์“ฐ๋Š” ๊ฑฐ ๋งž๋‚˜?

  • ๋งž๋‹ค ๋งž์•„

์™œ ์ธํ„ฐ๋„ท์ด ์•„๋‹Œ ์ƒํƒœ๋กœ ์˜ฎ๊ธธ ๋• tar๋กœ ์˜ฎ๊ฒจ์•ผ ๋˜๋‚˜?

  • ๋ชฐ๋ผ ๊ทธ๊ฒƒ๊นŒ์ง„..
profile
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ํŒŒ์ด์ฌ ๊ทธ๋ฆฌ๊ณ  ์ปดํ“จํ„ฐ์™€ ๋„คํŠธ์›Œํฌ

0๊ฐœ์˜ ๋Œ“๊ธ€