+ 00 00 0000

Have any Questions?

02_Simple Coding – 01_use_container

02_Simple Coding – 01_use_container

μ‰¬μš΄ λͺ©μ°¨

πŸ“ƒ μš”μ•½

컴퓨터λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ 졜초 μœˆλ„μš°λ₯Ό μ„€μΉ˜ν•΄μ•Ό μ‚¬μš©ν•  수 있음.
μœˆλ„μš° ν”„λ‘œκ·Έλž¨μ„ OS(Operating System) 라고 ν•˜κ³  운영체제라고 함.
μš΄μ˜μ²΄μ œλŠ” ν‚€λ³΄λ“œ, 마우슀, μŒμ•…, λ™μ˜μƒ λ“±μ˜ ν™˜κ²½μ„ μ‰½κ²Œ μ‚¬μš©ν•  수 있게 ν•΄μ£ΌλŠ” S/W 둜 졜초둜 μ„€μΉ˜λ˜μ–΄μ•Ό 함.
운영체제의 μ’…λ₯˜λŠ” μœˆλ„μš°(Window), λ¦¬λˆ…μŠ€(Linux), μœ λ‹‰μŠ€(Unix)κ°€ 있으며 주둜 개인용으둜 μœˆλ„μš°λ₯Ό μ‚¬μš©ν•˜κ³  νšŒμ‚¬μ—μ„œλŠ” λ¦¬λˆ…μŠ€ λ˜λŠ” μœ λ‹‰μŠ€κ°€ μ‚¬μš©λ¨

μš”μ†Œ 기술 :

– Basic : λ¦¬λˆ…μŠ€

πŸ“ƒ 기술 κ΅¬ν˜„

μŠ€νŽ™ :

- docker desktop

πŸ“ƒ μ»¨ν…Œμ΄λ„ˆ 닀루기

01) : μ»¨ν…Œμ΄λ„ˆ 닀루기

02_1) λŒ€ν™”ν˜• λͺ¨λ“œλ‘œ μ»¨ν…Œμ΄λ„ˆ 기동 및 정지
μ‚¬μš©λ²•) docker run -it 이미지λͺ… bash
-it : λŒ€ν™”ν˜• λͺ¨λ“œ(터미널)λ₯Ό μ‚¬μš©ν•˜λŠ” μ˜΅μ…˜
bash : μ…€ ν™˜κ²½ 지정(bash(배쉬셀), sh(λ³Έμ…€))

02) ν˜„μž¬ 전체 μ»¨ν…Œμ΄λ„ˆμ™€ 이미지 μ‚­μ œν•˜κΈ°

전체 μ»¨ν…Œμ΄λ„ˆ λͺ©λ‘ 보기
docker ps -a
C:\Users2>docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
ccf0e618b725        ubuntu              "bash"              17 hours ago        Exited (137) 17 hours ago                       ubuntu

03) μ»¨ν…Œμ΄λ„ˆ μ‚­μ œν•˜κΈ°

docker rm ccf0e618b725
C:\Users2>docker rm ccf0e618b725
ccf0e618b725

04) 전체 이미지 보기

docker images
C:\Users2>docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
kangtaegyung/ubuntu   latest              1f6ddc1b2547        2 weeks ago         77.8MB
ubuntu                latest              1f6ddc1b2547        2 weeks ago         77.8MB

05) 이미지(νƒœκ·Έ) μ‚­μ œν•˜κΈ°

docker rmi kangtaegyung/ubuntu
C:\Users2>docker rmi kangtaegyung/ubuntu
Untagged: kangtaegyung/ubuntu:latest
Untagged: kangtaegyung/ubuntu@sha256:65994a6106186040e20fff871f53e5cb623193705fb4c93d8b9be01fc3aaaebf
docker rmi ubuntu
C:\Users2>docker rmi ubuntu
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:ac58ff7fe25edc58bdf0067ca99df00014dbd032e2246d30a722fa348fd799a5
Deleted: sha256:1f6ddc1b2547b2e38dc25b265ac585238a3c23da63976722864dab2a069c74f4
Deleted: sha256:966e94ab6e166fb358a208cfd8169d22dea352501c96700eb7f45092a2962ee6
λ‹€μ‹œ 전체 이미지 보기
C:\Users2>docker images
REPOSITORY          TAG                 IMAGE ID            CREATED
   SIZE

06) ubuntu 18.04 λ‹€μš΄λ‘œλ“œ : docker pull

μ‚¬μš©λ²•) docker pull 이미지λͺ…:νƒœκ·Έ
docker pull ubuntu:18.04
C:\Users2>docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
7c457f213c76: Pull complete
Digest: sha256:152dc042452c496007f07ca9127571cb9c29697f42acbfad72324b2bb2e43c98
Status: Downloaded newer image for ubuntu:18.04
docker.io/library/ubuntu:18.04
이미지 전체 λͺ©λ‘ 보기
C:\Users2>docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              18.04               f9a80a55f492        8 days ago          63.2MB

C:\Users2>

07) μ»¨ν…Œμ΄λ„ˆ μ‹œμž‘ν•˜κΈ°(가동)

μ»¨ν…Œμ΄λ„ˆ 가동과 λ™μ‹œμ— μ ‘μ†ν•˜κΈ°
μ‚¬μš©λ²•) docker run -it 이미지λͺ…:νƒœκ·Έ bash
docker run -it ubuntu:18.04 bash
C:\Users2>docker run -it ubuntu:18.04 bash
root@7aea09695595:/#
–name 별λͺ… : μ»¨ν…Œμ΄λ„ˆ 별λͺ…을 μ§€μ •ν•˜λŠ” μ˜΅μ…˜

08) μ»¨ν…Œμ΄λ„ˆμ—μ„œ λ‚˜κ°€κΈ° : exit

μ»¨ν…Œμ΄λ„ˆ 쀑지
root@7aea09695595:/# exit
exit
μ»¨ν…Œμ΄λ„ˆ μ‹œμž‘ν•˜κΈ° : docker start
μ‚¬μš©λ²•) docker start μ»¨ν…Œμ΄λ„ˆλͺ…(μ»¨ν…Œμ΄λ„ˆid, 별λͺ…)
μ»¨ν…Œμ΄λ„ˆ 전체 λͺ©λ‘ 보기
docker ps -a
C:\Users2>docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
7aea09695595        ubuntu:18.04        "bash"              4 minutes ago       Exited (0) 2 minutes ago                       elegant_swartz

09) μ»¨ν…Œμ΄λ„ˆ μ‹œμž‘

docker start 7aea09695595
C:\Users2>docker start 7aea09695595
7aea09695595

10) μ»¨ν…Œμ΄λ„ˆ λ‹€μ‹œ μ ‘μ†ν•˜κΈ° : docker attach

μ‚¬μš©λ²•) docker attach μ»¨ν…Œμ΄λ„ˆλͺ…(μ»¨ν…Œμ΄λ„ˆid, 별λͺ…)
docker attach 7aea09695595
C:\Users2>docker attach 7aea09695595
root@7aea09695595:/#

πŸ“ƒ μ»¨ν…Œμ΄λ„ˆ μ‘°μž‘ 및 이미지 μž‘μ„±

1) μ»¨ν…Œμ΄λ„ˆ μ‘°μž‘ 및 이미지 μž‘μ„±

μš°λΆ„νˆ¬ λ¦¬λˆ…μŠ€ μ΅œμ‹  νŒ¨ν‚€μ§€ λ‹€μš΄λ‘œλ“œ λ°›κΈ°
μœˆλ„μš° μ—…λ°μ΄λ“œ(λ³΄μ•ˆ λͺ¨λ“ˆ λ°›κΈ°, λ²„κ·ΈνŒ¨μΉ˜ λ“±) 와 μœ μ‚¬
버그(벌레) 패치(μˆ˜μ •) : it μš©μ–΄, μ˜€λ™μž‘ κΈ°λŠ₯을 μˆ˜μ •ν•œ νŒ¨ν‚€μ§€
apt-get : react 의 npm (νŒ¨ν‚€μ§€ μ„€μΉ˜ λ§€λ‹ˆμ €) κ³Ό μœ μ‚¬
μ‚¬μš©λ²•) apt-get update
apt-get update
root@7aea09695595:/# apt-get update
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
...μƒλž΅

2) μ‚¬μš©λ²•) apt-get install -y νŒ¨ν‚€μ§€λͺ…1 νŒ¨μ§€μ§€λͺ…2 …

-y μ˜΅μ…˜ : λͺ¨λ‘ yes ν•˜κ² λ‹€λŠ” 의미
apt-get install -y iputils-ping net-tools iproute2 dnsutils curl : λ„€νŠΈμ› νŒ¨ν‚€μ§€ μ„€μΉ˜
apt-get install -y iputils-ping
root@7aea09695595:/# apt-get install -y iputils-ping
Reading package lists... Done
Building dependency tree
...μƒλž΅
apt-get install -y net-tools
root@7aea09695595:/# apt-get install -y net-tools
Reading package lists... Done
Building dependency tree
...μƒλž΅
apt-get install -y iproute2
root@7aea09695595:/# apt-get install -y iproute2
Reading package lists... Done
Building dependency tree
Reading state information... Done
...μƒλž΅

3) μ»΄ν“¨ν„°μ˜ IP μ£Όμ†Œ 보기 λͺ…λ Ήμ–΄

IP μ£Όμ†Œ : λ„€νŠΈμ›Œν¬ μΉ΄λ“œ λΆ€ν’ˆ(ethernet card)
μ‚¬μš©λ²•) ifconfig λ„€νŠΈμ›ν¬μΉ΄λ“œλͺ…(κΈ°λ³Έ:eth0)
ifconfig eth0
root@7aea09695595:/# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 5000  bytes 29507963 (29.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4147  bytes 230549 (230.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
μœ„μ˜ λ„€νŠΈμ› 정보 해석
inet ipμ£Όμ†Œ : 컴퓨터 ip μ£Όμ†Œ(사섀 ip)
broadcast ipμ£Όμ†Œ : λŒ€ν‘œ ip μ£Όμ†Œ(곡인 ip)
inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255

4) μ—¬λŸ¬ ν„°λ―Έλ„μ—μ„œ μ‘°μž‘ν•˜κΈ°

μ»¨ν…Œμ΄λ„ˆ μ ‘μ†ν•˜κΈ° : docker exec -it
예제 1) λ‹€λ₯Έ 터미널을 μ‹€ν–‰μ‹œν‚€κ³  exec λͺ…λ Ήμ–΄λ‘œ μ ‘μ†ν•˜κΈ°
μ‚¬μš©λ²•) docker exec -it μ»¨ν…Œμ΄λ„ˆλͺ…(id, 별λͺ…) bash
λ‹€λ₯Έ 터미널 μ—΄κΈ°
싀행쀑인 μ»¨ν…Œμ΄λ„ˆ λͺ©λ‘ 보기
docker ps
C:\Users2>docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
7aea09695595        ubuntu:18.04        "bash"              36 minutes ago      Up 31 minutes                           elegant_swartz
exec λ₯Ό μ΄μš©ν•΄μ„œ μ»¨ν…Œμ΄λ„ˆ μ ‘μ†ν•˜κΈ°
docker exec -it 7aea09695595 bash
C:\Users2>docker exec -it 7aea09695595 bash
root@7aea09695595:/#
μ°Έκ³ ) λ¦¬λˆ…μŠ€ : μ—¬λŸ¬ μ‚¬λžŒμ΄ λ™μ‹œ μ ‘μ†ν•΄μ„œ μ‚¬μš©ν•˜λŠ” OS
μ»¨ν…Œμ΄λ„ˆ : 1λͺ…μ˜ μœ μ €λ₯Ό μœ„ν•œ 것이 μ»¨ν…Œμ΄λ„ˆ

πŸ“ƒ ν˜ΈμŠ€νŠΈμ™€ μ»¨ν…Œμ΄λ„ˆμ˜ 관계

호슀트 : μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•˜λŠ” 운영체제(λ¦¬λˆ…μŠ€, λ²„μΈ„μ–Όλ°•μŠ€)
μ»¨ν…Œμ΄λ„ˆλ“€ : λ¦¬λˆ…μŠ€ 운영체제(OS) λ₯Ό κ³΅μœ ν•΄μ„œ μ‚¬μš©ν•¨
κ·Έλ¦Ό
μ»¨ν…Œμ΄λ„ˆ 1 | μ»¨ν…Œμ΄λ„ˆ 2 | μ»¨ν…Œμ΄λ„ˆ 3 …
———————————————
λ¦¬λˆ…μŠ€ 운영체제(OS, λ²„μΈ„μ–Όλ°•μŠ€μ˜ λ¦¬λˆ…μŠ€)
———————————————
μ»¨ν…Œμ΄λ„ˆμ˜ νŠΉμ§•
μ»¨ν…Œμ΄λ„ˆ : 싀행쀑인 ν”„λ‘œκ·Έλž¨, 운영체제λ₯Ό κ³΅μœ ν•¨
μ»¨ν…Œμ΄λ„ˆμ„ μ—¬λŸ¬ 개 κ°€λ™ν•˜λ©΄ λΆ„λ¦¬λœ μ»΄ν“¨ν„°μ²˜λŸΌ λ…λ¦½μ μœΌλ‘œ μ‚¬μš©ν•  수 있음
μ»¨ν…Œμ΄λ„ˆλŠ” IP μ£Όμ†Œλ₯Ό 가지면 λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆλ“€κ³Ό 톡신이 κ°€λŠ₯
μ»¨ν…Œμ΄λ„ˆλŠ” 1λͺ…μ˜ μœ μ €λ₯Ό μœ„ν•œ 것
μ»¨ν…Œμ΄λ„ˆλŠ” μ™ΈλΆ€μ—μ„œ(μœˆλ„μš°μ¦ˆ10) μ»¨ν…Œμ΄λ„ˆμ— 접속할 수 μ—†μŒ
=> μ™ΈλΆ€ 접속을 μœ„ν•΄μ„œλŠ” 포트 개방이 ν•„μš”

λ‹΅κΈ€ 남기기

이메일 μ£Όμ†ŒλŠ” κ³΅κ°œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•„μˆ˜ ν•„λ“œλŠ” *둜 ν‘œμ‹œλ©λ‹ˆλ‹€