๐ ์ด ๊ธ์ 12์ ์ํฐ๋์์ ์งํํ๋ ํ๋ฆฌ์จ๋ณด๋ฉ BE ์ฑ๋ฆฐ์ง๋ฅผ ์ฐธ์ฌํ๊ฒ ๋์ด ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ๋ง์ฝ ์๋ชป๋ ๋ด์ฉ์ด ์๋ค๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์! ๊ฐ์ฌํฉ๋๋ค. ๐โ๏ธ
๐น Docker CLI ๋ช ๋ น์ด
1. ๋ ์ง์คํธ๋ฆฌ์์ ์ด๋ฏธ์ง ๋ค์ด๋ก๋
// ์ฌ์ฉ๋ฒ
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
// ์์
docker pull httpd
// ์ฌ์ฉ๋ฒ
docker images [OPTIONS] [REPOSITORY[:TAG]]
// ์์
docker images
3. ์ด๋ฏธ์ง ์คํ - ์๋ก์ด ์ปจํ
์ด๋ ์์ฑ
// ์ฌ์ฉ๋ฒ
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
// ์์
docker run httpd
docker run --name secondContainer httpd // ์ปจํ
์ด๋ ์ด๋ฆ ์ง์ ํด์ ์์ฑ
// ์ฌ์ฉ๋ฒ
docker ps [OPTIONS]
// ์์
// ํ์ฌ ์คํ์ค์ธ ์ปจํ
์ด๋ ์ถ๋ ฅ
docker ps
// ๋ฉ์ถ ์ปจํ
์ด๋๊น์ง ๋ชจ๋ ์ถ๋ ฅ
docker ps -a
// ์ฌ์ฉ๋ฒ
docker start [OPTIONS] CONTAINER [CONTAINER...]
// ์์
docker start c8274d6a6273
6. ์คํ ์ค์ธ ์ปจํ
์ด๋ ์ค์ง
// ์ฌ์ฉ๋ฒ
docker stop [OPTIONS] CONTAINER [CONTAINER...]
// ์์
docker stop 9b0f49de746c
docker stop -a
// ์ฌ์ฉ๋ฒ
docker logs [OPTIONS] CONTAINER
// ์์
docker logs second
docker logs second -f
- ํด๋น ์ปจํ ์ด๋๋ ์ค์ง๋ ์ํ์ฌ์ผ ํ๋ค.
// ์ฌ์ฉ๋ฒ
docker rm [OPTIONS] CONTAINER [CONTAINER...]
// ์์
docker rm 6026ab9b44cc
docker rm second -f
// ์ฌ์ฉ๋ฒ
docker rmi [OPTIONS] IMAGE [IMAGE...]
// ์์
docker rmi 6026ab9b44cc
10. ์ปจํ
์ด๋ ๋ด์์ ์ ์คํ
// ์ฌ์ฉ๋ฒ
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
// ์์
docker exec -it awesome_elion /bin/sh
// ์ฌ์ฉ๋ฒ
docker container COMMAND
11-1. ์ค์ง๋ ๋ชจ๋ ์ปจํ
์ด๋ ์ญ์
// ์ฌ์ฉ๋ฒ
docker container prune [OPTIONS]
// ์์
docker container prune
11-2. ์ปจํ
์ด๋์ ์์ ์ฌ์ฉ ํํฉ ํ์ธ
// ์ฌ์ฉ๋ฒ
docker container stats [OPTIONS] [CONTAINER...]
// ์์
docker container stats
12. ์ด๋ฏธ์ง ๊ด๋ฆฌ
// ์ฌ์ฉ๋ฒ
docker image COMMAND
12-1. ์ฌ์ฉ ์ค์ด์ง ์์ ์ด๋ฏธ์ง ์ญ์
// ์ฌ์ฉ๋ฒ
docker image prune [OPTIONS]
// ์์
docker image prune
12-2. ์ด๋ฏธ์ง์ ๋ํ ์์ธํ ์ ๋ณด ์ถ๋ ฅ
// ์ฌ์ฉ๋ฒ
docker image inspect [OPTIONS]
// ์์
docker image inspect httpd
12-3. ์ด๋ฏธ์ง๋ฅผ ์ฐธ์กฐํด ์๋ก์ด ํ๊ทธ์ ์ด๋ฏธ์ง ์์ฑ
// ์ฌ์ฉ๋ฒ
docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
// ์์
docker image tag my-httpd drumgrammer/my-httpd:latest
13. ๋ ์ง์คํธ๋ฆฌ์ ์ด๋ฏธ์ง ์
๋ก๋
- [๋์ปค ์ด๋ฏธ์ง]/์ด๋ฏธ์ง๋ก ์ด๋ฏธ์ง๋ช ์ ์ง์ ํด์ผ ์ ์์ ์ผ๋ก ์ ๋ก๋๊ฐ ๊ฐ๋ฅํ๋ค.
// ์ฌ์ฉ๋ฒ
docker push [OPTIONS] NAME[:TAG]
// ์์
docker push drumgrammer/my-httpd:latest
14. ๋ ์ง์คํธ๋ฆฌ ๋ก๊ทธ์ธ/๋ก๊ทธ์์
// ๋ก๊ทธ์ธ ์ฌ์ฉ๋ฒ
docker login [OPTIONS] [SERVER]
// ์์
docker login
// ๋ก๊ทธ์์ ์ฌ์ฉ๋ฒ
docker logout [SERVER]
// ์์
docker logout
15. Docker ๊ด๋ฆฌ
// ์ฌ์ฉ๋ฒ
docker system COMMAND
15-1. ์ฌ์ฉ ์ค์ด์ง ์์ ๋ฐ์ดํฐ ์ญ์
์๋์ ๊ฐ์ด ์ญ์ ๋๋ค.
- ์ข ๋ฃ๋ ์ปจํ ์ด๋
- ์ฌ์ฉ ์ค์ด์ง ์์ ๋คํธ์ํฌ
- ์ฌ์ฉ ์ค์ด์ง ์์ ์ด๋ฏธ์ง
- ์บ์
// ์ฌ์ฉ๋ฒ
docker system prune [OPTIONS]
// ์์
docker system prune
๐น Dockerfile ํ์ฉ ์์
1. Dockerfile
- Dockerfile์ด ์๋ ์์น์ index.html๋ ์กด์ฌํด์ผ ํ๋ค.
- user/dokerfile-folder/index.html → /usr/local/apache2/htdocs/index.html ๋ณต์ฌ
FROM httpd:latest
COPY index.html /usr/local/apache2/htdocs/index.html
EXPOSE 80
2. ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ
docker build -t jeongii/httpd .
3. ์ปจํ
์ด๋ ์คํํ๊ธฐ
docker run jeongii/httpd // ์ด๋ฏธ์ง ์คํ
docker run -d -p 8888:80 my-httpd // ์ปจํ
์ด๋ ์คํ
๐ reference
'Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Docker] Docker๋? (1) | 2023.12.06 |
---|