More Related Content
More from NuttavutThongjor1 (20)
4 Docker.pdf 4 Docker.pdf 4 Docker.pdf 4 Docker.pdf
- 6. 2. ประวัติย่อของเทคโนโลยีคอนเทนเนอร ์
Docker เป็ นชุดของผลิตภัณฑ์platform as a service (PaaS) ทีได้สร ้างการเปลียนแปลงในโลกของการ
พัฒนาซอฟต์แวร ์ด้วยวิธีการนําเสนอซอฟต์แวร ์ในแพคเกจทีเรียกว่าคอนเทนเนอร ์
Docker ก่อตังขึนเป็ น DotCloud ในปี 2008 โดย Solomon Hykes ทีปารีส เริมต้นจากการเป็น platform as
a service (PaaS) ก่อนทีจะเปลียนเป็นเทคโนโลยีคอนเทนเนอร ์ในปี 2013
รุ่นเริมต้นของ Docker ออกมาในวันที 20 มีนาคม 2013 ซอฟต์แวร ์ทีเป็ นตัวจัดการและหัวใจสําคัญของการควบคุม
คอนเทนเนอร ์เรียกว่า `Docker Engine` Docker เป็ นเครืองมือทีใช ้ในการทํางานอัตโนมัติของการปรับใช้แอป
พลิเคชันในคอนเทนเนอร ์ที Lightweight เพือให้แอปพลิเคชันสามารถทํางานได้อย่างมีประสิทธิภาพใน
สภาพแวดล้อมทีแตกต่างกัน
เมือ Docker ปรากฏขึนในปี 2013 คอนเทนเนอร ์ได้รับความนิยมอย่างรวดเร็ว การเติบโตของ Docker และการใช ้
คอนเทนเนอร ์ไปด้วยกัน Docker ใช ้LXC ในช่วงเริมต้นและในภายหลังได้แทนทีตัวจัดการคอนเทนเนอร ์นันด้วย
ไลบรารีของตนเองคือ libcontainer
Babel Coder
- 7. 3. การทํางานของ DOCKER
$
App
80
docker run -p 5152:80 babelcoder/intro-to-devops-ui:1.0
Image
Tag
Port Mapping
Unable to find image 'babelcoder/intro-to-devops-ui:1.0' locally
1.0: Pulling from babelcoder/intro-to-devops-ui
619be1103602: Already exists
018b9065ed0d: Already exists
c3ea3344e711: Already exists
c7059f310278: Already exists
a101c9a82b88: Already exists
d6a456492aaa: Already exists
e1c681003a03: Already exists
a85ccd8c07bd: Already exists
e31596f4f45d: Already exists
Digest: sha256:fca7c993dd5c3fbe2ab3e320f4a77c049f1d475b6efbf5f249b9f668b8c68373
Status: Downloaded newer image for babelcoder/intro-to-devops-ui:1.0
HOS
T
5152
-p 5152:80
Babel Coder
- 8. docker run
ค้นหา Image บน
เครือง
มีติดตังแล้ว
หรือไม่
3. การทํางานของ DOCKER
ค้นหา Image จาก
Docker Hub
พบบน Docker
Hub หรือไม่
ดาวน์โหลด Image
ติดตัง Layers ต่าง ๆ
บนเครือง
Docker ทําการสร้าง
container จาก
Image พร ้อมเริม
ทํางาน
container ทํางาน
No
Yes
Babel Coder
- 10. 3. การทํางานของ DOCKER
$
$
$
$
$
Unable to find image 'babelcoder/intro-to-devops-ui:1.0' locally
1.0: Pulling from babelcoder/intro-to-devops-ui
docker run -p 5152:80 babelcoder/intro-to-devops-ui:1.0
docker ps
docker stop amazing_lamarr
docker start amazing_lamarr
docker stop amazing_lamarr && docker rm
amazing_lamarr
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
625f8285698b babelcoder/intro-to-devops-ui:1.0 "/docker-entrypoint.…" 5 seconds ago Up 5 seconds 0.0.0.0:5152->80/tcp amazing_lamarr
Babel Coder
- 12. 4. การใช้งาน DOCKER COMPOSE
API
SITE
637
9
637
9
5152
300
0
80 5151
redi
s
babelcoder/intro-to-devops-api
babelcoder/intro-to-devops-ui
docker-compose.yml
$ docker compose
up
Babel Coder
- 13. 5. การสร ้าง DOCKER IMAGES
Dockerfil
e
Docker Images
Docker Hub
push
pul
l
buil
d
1
2
3
Laye
r
Laye
r
Laye
r
Laye
r
Babel Coder
- 14. 5. การสร ้าง DOCKER IMAGES
./api
$
$
CGO_ENABLED=0 go build -o api
Babel Coder
- 15. 5. การสร ้าง DOCKER IMAGES
./api
$
$
CGO_ENABLED=0 go build -o api
Dockerfil
e
Babel Coder
- 16. 5. การสร ้าง DOCKER IMAGES
Cache
Docker Images
Babel Coder
- 20. 5. การสร ้าง DOCKER IMAGES
$ docker build -t babelcoder/intro-to-devops-api:1.0 .
Build
Context
REPOSITORY TAG IMAGE ID CREATED SIZE
babelcoder/intro-to-devops-api 1.0 0549c371879d 3 hours ago 17.2MB
$ docker image ls
Babel Coder
- 21. 5. การสร ้าง DOCKER IMAGES
docker build -t babelcoder/intro-to-devops-api:1.0 .
$
.dockerignore
Babel Coder
- 22. 6. การเผยแพร่ DOCKER IMAGES
docker login
$
Username: xxxxxx
Password: xxxxxx
Login Succeeded
docker push babelcoder/intro-to-devops-api:1.0
$
The push refers to repository [docker.io/babelcoder/intro-to-devops-api]
2174cfeeabd2: Pushed
b8d6ec71502e: Pushed
d4fc045c9e3a: Layer already exists
1.0: digest:
sha256:214d679fde8958b9ea028430aea9bea5b6c46790724422db8c3291c8e
308cb5e size: 945
Docker Hub
push
Babel Coder