# ๋์ปค ์ค์น ํ์ธ
docker version
# ๋์ปค ์ค์ ํ์ธ
docker system info
docker images / docker image ls
# docker container ๋์ฐ๊ธฐ (์ ๊น ๋ค์ด๊ฐ์ ์ถ๋ ฅ๋ง ํ๊ณ ๋ฐ๋ก ๋์ด)
# docker์ ์ค์น๋์ด ์๋ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง๊ณ container๋ฅผ ๋์ฐ๋ ๊ฒ์
# echo ํน์ ๋ชป์ฐพ์ ์๋ ์์ผ๋ /bin ๋ถ์
docker [container] run --name centos2 centos:latest /bin/echo 'Hello docker!'
# ์คํ์ค์ธ ์ปจํ
์ด๋๋ง ๋ณด๊ธฐ
docker ps
# ์ค์น๋์ด ์๋ ์ปจํ
์ด๋ ๋ชจ๋ ๋ณด๊ธฐ
docker ps -a
# ๋์ปค ์ปจํ
์ด๋ ์คํ, it(interactive ํํ)
docker [container] run -it --name "<์ปจํ
์ด๋-์ด๋ฆ>" centos /bin/bash
# ํ์ฌ ๋๊ณ ์๋ ์ปจํ
์ด๋ id๋ง ์ถ๋ ฅ
docker ps -q
# container ๋ชจ๋ id ์ถ๋ ฅ
docker ps -aq
docker start/stop <์ปจํ
์ด๋-์ด๋ฆ>
# ์ปจํ
์ด๋ ๋ค์ด๊ฐ๊ธฐ
docker attach <์ปจํ
์ด๋-์ด๋ฆ>
# ๋์ปค ์ปจํ
์ด๋ ์ง์ฐ๊ธฐ
docker rm <์ปจํ
์ด๋-id>
# ๋ชจ๋ ์ปจํ
์ด๋ ์ค์ง ($๋ ๋ณ์)
docker stop $(docker ps -aq)
# pull์ ๋ฐ์์ค๊ธฐ, push๋ ๋ณด๋ด๊ธฐ
docker [image] (pull | push) <image-name>
# nginx image ์ญ์
docker image rm nginx
# ์ฌ์ฉํ์ง ์๋ ๋ชจ๋ image ์ญ์
docker image prun
# docker hub ๋ก๊ทธ์ธ
docker login
- File Sharing ํ์! (docker๋ local pc์ directory ์ฐ๊ฒฐ)
-
VSCode๋ก ์ฝ๋ฉํ directory์ git์ ์ธํ ํด์ผ ํจ, flask ํด๋ ๋ฑ ๋ฐฐ์น
-
Mac
- ๋์ปค desktop - preferences - file sharing - + - C:\Users\Aaron Kim\workspace\sfd
-
Windows
- C๋๋ผ์ด๋ธ์ Users ํด๋ ์ดํ๋ ์๋์ผ๋ก ๊ณต์ ๋์ ๋ฐ๋ก ์ค์ ํ ํ์ ์์
- Run Container by CentOS image (CentOS ๋์ปค ์ปจํ ์ด๋ ์)
-
mydealdev :port
- Nginx: 80
- volta
- PM2 by volta
- Node, NPM (express): 7101
- python3, pip (flask): 7201
- (MySQL8: 3306)
- (rsync, rcp setting: 22)
(docker๋ฅผ putty๋ก ๋ค์ด๊ฐ ์ผ์ ์์,
๋ง์ฝ ๋ค์ด๊ฐ๋ค๋ฉด, 22๋ฒ ํฌํธ ์ด๊ณ sbin/init์ผ๋ก ๊ตฌ๋ํด์ผ ๋ฐ๋ชฌ ๋ธ)
cd workspace/sfd/ touch t.txt touch test.js # ํฌํธ ์ค์ ํ๊ณ ๊ณต์ ํด๋ ์ด์ฉํด์ ์ปจํ ์ด๋ ๋์ฐ๊ธฐ docker container run -it --name "mydealdev" --hostname mydealdev -v "C:/Users/Aaron Kim/workspace/sfd:/home/workspace" -p 80:80 -p 7101:7101 -p 7201:7201 centos /bin/bash # ๋์ปค ์ปจํ ์ด๋ ์ [root@mydealdev /]# yum install epel-release -y [root@mydealdev /]# yum install telnet -y # clear ๋ช ๋ น์ด ์ฌ์ฉํ๊ธฐ ์ํด ์ค์น [root@mydealdev /]# yum install ncurses # ์ฌ์ ์ NCloud ACG ์ ํ ํ์ [root@mydealdev /]# telnet <๊ณต์ธip> 3306 # docker ์ ๋๋์ง ์ฒดํฌ [root@mydealdev /]# curl https://ding-co.topician.com [root@mydealdev /]# yum install which rsync openssh-clients -y [root@mydealdev /]# which rsync [root@mydealdev /]# vi /etc/yum.repos.d/nginx.repo # [nginx] # name=nginx repo # baseurl=https://nginx.org/packages/centos/7/$basearch/ # gpgcheck=0 # enabled=1 [root@mydealdev /]# yum install nginx -y # ์ค์น๋์ด ์๋์ง ํ์ธ ๋ช ๋ น์ด => which [root@mydealdev /]# which nginx # systemctl๋ก ๋์ธ ํ์ ์์, nginx๋ก ๋์ (๋ฐ๋ชฌ์ด ํ์ ์์) [root@mydealdev /]# ps -ef | grep nginx [root@mydealdev /]# nginx [root@mydealdev /]# !ps # localhost ์น์ฌ์ดํธ ์ฃผ์ # network - localhost - clear browser cache
- ํฐ๋ฏธ๋ ๋๊ฐ ๋ exit / Ctrl + d / logout
- exited (๋น ์ ธ๋์จ ์ํ, ํ์ฌ๋ ์คํ X)
- docker๋ ์์์ id๋ก ์ปจํ ์ด๋๋ค์ด ๊ฐ๊ฐ ๋ค ๋งตํ๋์ด ์์
- $()๊ฐ ๋ณ์์
cmder์์๋ ๋ช ๋ น์ด๊ฐ ์๋จนํ์ง๋ง, powersehll/git bash ์์๋ ์ ๋จนํ
(linux bash shell ๊ฐ์ ๊ณณ์์๋ง ํ์ฉ๋๋ ๋ช ๋ น์ด์ธ๋ฏ) - telnet์ ์ํธํ๊ฐ ์๋ ๋ง
- image commit (์ด๋ฏธ์ง ๊ตฌ์๋๊ธฐ)