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 |
이미지 압축 |
압축 풀기 |