docker

docker 3 (volume)

짱구는굿 2023. 10. 6. 16:37

호스트 볼륨 컨테이너 볼륨

docker run -d -v $(pwd)/html:/usr/share/nginx/html --name web-volume ubuntu:focal - 호스트 불륨
docker run -d --name nginx1 --volumes-from web-volume -p 80:80 nginx - 컨테이너 불륨
docker run -d --name nginx2 --volumes-from web-volume -p 8080:80 nginx - 컨테이너 불륨

Nginx 웹 서버를 실행하고, 각각의 서버는 web-volume이라는 이름의 컨테이너에서 HTML 파일을 공유받아 사용합니다. 또한, 호스트의 포트 80 및 8080은 각각 첫 번째와 두 번째 Nginx 서버에 매핑되어 웹 서버에 접근할 수 있게 됩니다

 

 



공유가 되는걸 알수있다

 

1. 호스트 불륨 2. 컨테이너 불륨 3. 도커불륨
/var/lib/docker/volumes/$(volume-name)/ data

 

호스트 볼륨 도커 볼륨

docker volume create --name db
docker run -d --name itbank-mysql -v db:/var/lib/mysql -p 3306:3306 mysql:5.7

 




만약 삭제를 원하지 않는다면 
docker run -d --name itbank-mysql -v db:/var/lib/mysql:ro -p 3306:3306 mysql:5.7

:ro 옵션을 추가하면 삭제 되지않는다

 

docker search
docker run --name mysql -e MYSQL_ROOT_PASSWORD=12345 -d -p 3306:3306 mysql:5.7
docker exec -it mysql bash
apt-get install mysql-client* - root로 설치

 

 

 

다른 서버로 접속

 

docker build -t helloworld .
docker images
docker run helloworld

 


 

 

nodejs

https://nodejs.org/ko/docs/guides/getting-started-guide

 

시작 가이드 | Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash 

sudo apt-get install -y nodejs

sudo npm install -g express 
sudo npm install -g express-generator

npm init -y
npm i express

 

 


node app.js
이후 윈도우 접속해서 확인
docker build -t nodejs:1.0 . 
이미지 생성

docker run -d -p 8080:7000 nodejs:1.0
컨테이너 생성

docker logs e4

https://hub.docker.com/settings/security

 

Docker

 

hub.docker.com

 

docker hub 으로 토큰 생성 후 사용

docker images
docker tag nodejs:1.0 qkrwo8520/nodejs-test:1.0
docker images
docker push qkrwo8520/nodejs-test:1.0

 

 

docker run ubuntu:focal
docker images
docker ps -a
docker commit -a song -m "my first commit" elastic_nightingale my_ubuntu:1.0
docker run -it my_ubuntu:1.0
docker images
docker commit -a song2 -m "Add my_file" my_ubuntu my_ubuntu:v1
docker image inspent 
docker run -it my_ubuntu:v1
cat my_file

 



변경 시킬수있는 파일 생성


변경이된 파일


id 확인 


docker image inspect 13


docker image inspect 91
 

 

docker build -t nodejs-server .
docker run -it --name nodejs-server nodejs-server
docker ps 
docker run -it --name nodejs-server nodejs-server
curl localhst:8080 -> 연결 불가
docker rm -f 482
docker run -it -p 8080:8080 --name nodejs-server nodejs-server
curl localhst:8080 -> 연결 가능

 



이미지 확인


접속 불가
docker rmi $(docker images -q) - 삭제
docker image rm -f $(docker image ls -q) - 삭제

연결 가능

 

압출 풀기 


docker save -o test_images.tar nodejs-server  
docker rmi -f nodejs-server
docker load -i test_images.tar
docker images

 

 

이미지 압축

 

 

압축 풀기