Docker Example - ์‚ฌ์šฉ๋ก€

INTRO Requirement: Docker Hub registration Requirement: Docker install on local login and create and push images to docker hub Docker Login $ docker login Username: neosolaris Password: xxxxxxx Login Succeeded Create Sample image create project dir and files $ mkdir myproject && cd myproject $ vim server.js $ vim Dockerfile server.js var http = require('http'); var handleRequest = function(request, response) { console.log('Received request for URL: ' + request.url); response.writeHead(200); response.end('Hello World!'); }; var www = http.createServer(handleRequest); www.listen(8080); Dockerfile FROM node:6.9.2 EXPOSE 8080 COPY server.js . CMD node server.js ์ด๋ฏธ์ง€ ๋นŒ๋“œ ๋ช…๋ น ์‹คํ–‰ ํ›„ ๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:8080 ํ™•์ธ $ docker build -t neosolaris/hello-nodejs:v1 . #์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช…:ํƒœ๊ทธ๋ช… $ docker images # ๋นŒ๋“œ์ด๋ฏธ์ง€ ํ™•์ธ $ docker run -d -p 8080:8080 -t neosolaris/hello-nodejs:v1 # ํ…Œ์ŠคํŠธ ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ $ docker ps # ํ˜„์žฌ ์ปจํ…Œ์ด๋„ˆ๋“ค ํ™•์ธ $ docker stop <Container ID> # ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ $ docker push neosolaris/hello-nodejs:v1 #์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช…:ํƒœ๊ทธ๋ช… Image ์—…๋กœ๋“œ๋Š” ๋„์ปคํ—ˆ๋ธŒ์—์„œ ํ™•์ธ: https://hub.docker.com/u/neosolaris Links https://snowdeer.github.io/docker/2018/02/14/docker-push-image-to-docker-hub/

2022-11-13 ยท 151 words

DockerHub - ๋„์ปคํ—ˆ๋ธŒ ์†Œ๊ฐœ ๋ฐ ํ™œ์šฉ

Intro ๋„์ปค ์ด๋ฏธ์ง€ ์›๊ฒฉ ์ €์žฅ์†Œ ๋งŒ๋“ค์–ด ๋†“์€ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œ ๋ฐ ๋‹ค์šด๋กœ๋“œ ํ™œ์šฉ ํšŒ์›๊ฐ€์ž… https://hub.docker.com - ๊ณ„์ • ๋ฐ ์ด๋ฉ”์ผ ๋“ฑ๋ก : ๊ณต๊ฐœ์šฉ(๊ฐœ์ธ)์€ ๋ฌด๋ฃŒ hub.docker.com ์ ‘์† ํ›„ ํšŒ์›๊ฐ€์ž… Email Confirm (์ž์‹ ์˜ ์ด๋ฉ”์ผ์—์„œ ์ธ์ฆ) ๋„์ปคํ—ˆ๋ธŒ ๋กœ๊ทธ์ธ ์ €์žฅ์†Œ ์ƒ์„ฑํ•˜๊ณ  ๋กœ์ปฌ์—์„œ ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€ ์˜ฌ๋ฆฌ๊ธฐ ๋กœ๊ทธ์ธ ํ›„ Repository ์ƒ์„ฑ ex) ์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช…:ํƒœ๊ทธ๋ช… neosolaris/mdev:debian-luajit doocker client(my local pc)์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์˜ฌ๋ฆฐ๋‹ค. $ docker login # hub์— ํšŒ์›๊ฐ€์ž…ํ•œ id, password ๋“ฑ๋ก $ docker images # ๋‚ด ์ด๋ฏธ์ง€ ํ™•์ธ (mdev:debian-luajit์ด๋ผ ๊ฐ€์ •) $ docker tag mdev:debian-luajit neosolaris/mdev:debian-luajit $ docker push neosolaris/mdev:debian-luajit #์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช…:ํƒœ๊ทธ๋ช… hub.docker.com ์ ‘์† ํ›„ repository ํ™•์ธ ์œ„ ๊ณผ์ • ์ค‘ ๋„์ปคํ—ˆ๋ธŒ์—์„œ ์ €์žฅ์†Œ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ local์—์„œ ๋กœ๊ทธ์ธ๋˜์–ด ์žˆ๋‹ค๋ฉด docker push๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ ๋„์ปคํ—ˆ๋ธŒ์—์„œ ์ž์‹ ์ด ์›ํ•˜๋Š” ์ด๋ฏธ์ง€ ๋˜๋Š” ์ž์‹ ์ด ๋งŒ๋“  ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›๋Š”๋‹ค. $ docker pull gcc:bullseye # ๊ณต์‹ debian-bullseye-gcc ํ™˜๊ฒฝ ์ด๋ฏธ์ง€ $ docker neosolaris/mdev:debian-luajit # ๋‚ด ํ”„๋กœ์ ํŠธ ์ด๋ฏธ์ง€ Links https://hub.docker.com

2022-11-13 ยท 129 words

docker-build ๋„์ปค์ด๋ฏธ์ง€ ๋นŒ๋“œ

Intro ํ”„๋กœ์ ํŠธํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฐœ๋ฐœ Dockerfile์„ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ์ž‘์„ฑํ•œ๋‹ค. ํ•œ๋ผ์ธ์”ฉ ํ™•์ธํ•˜๋ฉฐ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•œ๋‹ค. ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ด์„œ ํ™•์ธํ•œ๋‹ค. Example Lemo Apps for Luajit ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  Dockerfile์„ ์ƒ์„ฑํ•œ๋‹ค. $ mkdir myproject && cd myproject $ vim Dockerfile ์ƒ์„ฑ๋œ Dockerfile FROM nickblah/luajit:2.1.0-beta3-buster ## Default root Env Setup First WORKDIR /root RUN \ echo 'set -o vi' >> .bashrc ## LEMO Program Set WORKDIR /usr/local COPY lemo ./lemo RUN \ echo 'exec "/usr/local/lemo/lib/main.lua" "$@"' > ./bin/lemo &&\ chmod 755 ./bin/lemo Image Build $ docker build -t buster:lemo . # ๋นŒ๋“œ $ docker images # ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€ ํ™•์ธ $ docker run --rm -it buster:lemo bash # ์ด๋ฏธ์ง€๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๋ฐ ํ…Œ์ŠคํŠธ Links https://docs.docker.com/engine/reference/builder https://www.44bits.io/ko/post/easy-deploy-with-docker

2022-11-09 ยท 110 words

Docker Setup - ์„ค์ •

Docker ๋ฐ๋ชฌ ์„œ๋น„์Šค ์„ค์ • ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•  ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ๋“ฑ๋ก๋˜์ง€๋งŒ ์‹คํŒจํ•  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. $ sudo systemctl status docker # ์„œ๋น„์Šค Active ํ™•์ธ์‹คํŒจ $ sudo systemctl enable docker # ๋ถ€ํŒ…์‹œ ์„œ๋น„์Šค ์ž๋™ ์‹คํ–‰ ์„ค์ • $ sudo systemctl start docker # ์„œ๋น„์Šค ์‹คํ–‰ $ sudo systemctl restart docker # ์„œ๋น„์Šค ์žฌ์‹คํ–‰ $ sudo systemctl status docker # ์„œ๋น„์Šค ๋™์ž‘ํ™•์ธ Docker๋ฅผ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์œผ๋กœ ๋ณ€๊ฒฝ ํ•ญ์ƒ docker๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ sudo๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ฒˆ๊ฑฐ๋กญ๋‹ค. $ sudo usermod -aG docker ${USER} # ์ดํ›„ ๋กœ๊ทธ์•„์›ƒํ•˜๊ฑฐ๋‚˜ ์žฌ๋ถ€ํŒ… $ sudo reboot $ groups # ๊ทธ๋ฃน์— docker๊ฐ€ ์žˆ๋Š” ์ง€ ํ™•์ธ $ docker ps -a # sudo ์—†์ด ๋ช…๋ น ์‹คํ–‰ Docker ๋กœ์ปฌ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ /var/lib/docker๊ฐ€ ๊ธฐ๋ณธ ๋””๋ ‰ํ† ๋ฆฌ์ด๋‹ค. /var๋Š” ๋ณดํ†ต root ํŒŒํ‹ฐ์…˜์ด๋ฏ€๋กœ ์‚ฌ์šฉ์ค‘ ๊ณต๊ฐ„๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. /data/docker๋ผ๋Š” ์ถฉ๋ถ„ํ•œ ๊ณต๊ฐ„์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์šฐ๋ถ„ํˆฌ๋‚˜ ๋ฐ๋น„์•ˆ ๊ธฐ์ค€์ด๊ณ  docker 20.10.21 ๋ฒ„์ „์˜ ์˜ˆ์ด๋‹ค. ์ด ์„ค์ •์€ docker ์„ค์น˜ ์ดˆ๊ธฐ์— ํ•ด์•ผํ•œ๋‹ค. (๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๋ฐฑ์—… ํ•„์ˆ˜) $ sudo systemctl stop docker # ์„œ๋น„์Šค ์ค‘์ง€ $ sudo systemctl status docker # ์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ $ sudo cat<<EOF > /etc/docker/daemon.json { "graph": "/data/docker" } EOF $ sudo rm -rf /var/lib/docker # ๊ธฐ์กด ๋””๋ ‰ํ† ๋ฆฌ ์ œ๊ฑฐ $ sudo systemctl start # ์„œ๋น„์Šค ์‹คํ–‰ $ docker info | grep 'Docker Root Dir' # ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ ํ™•์ธ Docker Root Dir: /data/docker $ ln -s /data/docker /var/lib/docker # ํ˜ธํ™˜์„ ์œ„ํ•ด ๋งํฌ๋ฅผ ์ƒ์„ฑ

2022-11-09 ยท 207 words

Docker Install

Ubuntu 22.04 Install ๊ธฐ์กด ํŒจํ‚ค์ง€๋กœ ์„ค์น˜ - ๋‚ฎ์€ ๋ฒ„์ „(1.5-2) $ sudo apt update $ sudo apt install docker docker-engine docker.io containerd runc ์ €์žฅ์†Œ๋กœ ์ตœ์‹  ๋ฒ„์ „ ์„ค์น˜ (20.10.21) - docker-ce๋งŒ ์„ค์น˜ํ•ด๋„ ๋œ๋‹ค. $ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release -y $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null $ sudo apt update $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y Script Install $ curl -fsSL https://get.docker.com -o get-docker.sh $ DRY_RUN=1 sudo sh ./get-docker.sh Test $ sudo docker --version # ๋ฒ„์ „ ํ™•์ธ $ sudo systemctl status docker # ์„œ๋น„์Šค Active ํ™•์ธ $ sudo docker run hello-world # ํ…Œ์ŠคํŠธ $ sudo docker ps -a # ํ”„๋กœ์„ธ์Šค fhrm ghkrdls Uninstall $ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin -y Links https://docs.docker.com/engine/reference/builder https://linuxhint.com/install-docker-ubuntu-22-04 https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04

2022-11-09 ยท 150 words