1 분 소요

1. 서론

    오늘은 NFS Docker Volume을 사용하여 컨테이너의 데이터를 분리하여 외부 저장소로 관리하는 방법을 배워보았다.

2. 본론

1. Docker

1. 기존의 컨테이너와 이미지, 볼륨을 지운다. 그리고 .tar 파일을 로드하고 새볼륨(nextvolume)을 만든 후, 새 컨테이너(nextcloud) 생성 시 컨테이너 내의 '/var/www/nextcloud/_data'가 nextvolume 을 사용하도록 설계하시오.

Edit - Virtual Network Editor - VMnet1(192.168.1.0/24)

//Docker1
# nmtui
ens36 : 192.168.1.101/24
# vi /etc/hosts
192.168.1.101  docker1
192.168.1.104  stg
# systemctl stop firewalld
# vim /etc/selinux/config
SELINUX=disabled

# dnf -y update
# dnf -y install nfs-utils
# dnf install -y ftp //ftp client
# ftp 10.10.51.15
Name: anonymouse
Password:
> pwd
> cd pub
> ls
> get nextcloud.tar

# docker load -i nextcloud.tar
# docker images
# systemctl stop httpd
# docker run -i -t --name nextcloud -p 80:80 nextcloud:first

# cd /var/www/html/nextcloud
# ls -ltr data
# exit

# docker ps -a
# docker rm nextcloud
# docker volume create --name stg
# cat /etc/hosts

//DockerSTG
# nmtui
ens36 : 192.168.1.104/24
# vi /etc/hosts
192.168.1.101  docker1
192.168.1.104  stg
# systemctl stop firewalld
# vim /etc/selinux/config
SELINUX=disabled

# dnf -y update
# dnf -y install nfs-utils

# mkdir /stg
# chmod 777 -R /stg
# vim /etc/exports
/stg  192.168.1.0/24(rw,sync,no_root_squash)
# systemctl stop firewalld
# systemctl enable --now nfs-server

//Docker1
# mount -t nfs stg:/stg /var/lib/docker/volumes/stg/_data
# docker run -it --name nextcloud -p 80:80 -v stg:/var/www/html/nextcloud/_data nextcloud:first
# service apache2 start
ctrl + shift + p + q
# ls -al /var/www/html/nextcloud/_data
# touch test

//DockerSTG
# cd stg
# ls

3. 결론

    도커 컨테이너에 외부 저장소를 마운트 할 수 있다는 점을 배워보았다.

4. 참고자료

1. Cisco Docs

  1. ARP
  2. CDP / VLAN
  3. Frame Relay
  4. Static Routing
  5. VLAN
  6. VTP
  7. Routed Port
  8. AD
  9. Route Selection
  10. FHRP
  11. HSRP
  12. DHCP
  13. DNS
  14. STP
  15. NAT
  16. EtherChannel
  17. DTP
  18. RIP
  19. NTP
  20. Offset List
  21. Password Encryption
  22. ACL
  23. CAR Attack
  24. Broadcast
  25. Port Assignments
  26. IPv6 Static Routing
  27. HSRP for IPv6
  28. Clock Rate
  29. DHCPv6 Guard
  30. EIGRP
  31. Express Forwarding
  32. Routing and Switching
  33. Load Balancing
  34. Ping, Traceroute
  35. Load Balancing
  36. Fast Switching
  37. CEF
  38. DNS
  39. SSH
  40. Regular Expression
  41. OSPF
  42. EIGRP’s SIA
  43. NSSA
  44. AAA
  45. Understand the Zone-Based Policy Firewall Design
  46. The Cisco SD-WAN Solution

2. Linux

  1. rhel9’s docs
  2. Linux Directory Structure
  3. File Types in Linux
  4. fstab
  5. Vim Cheat Sheet
  6. Protecting GRUB with a password
  7. SELinux
  8. DNS
  9. Samba as a server
  10. DHCP
  11. NFS
  12. SSH
  13. VNC
  14. heredoc
  15. docker vs podman + buildqh + skopeo
  16. Docker란?
  17. Linux 컨테이너란?
  18. Container vs VM
  19. 컨테이너화란?
  20. container
  21. 컨테이너 오케스트레이션이란?
  22. 쿠버네티스란?
  23. 쿠버네티스 아키텍처 소개
  24. 쿠버네티스 기본 사항 학습
  25. 쿠버네티스 클러스터란?
  26. Ansible과 Puppet: 알아야 할 사항

3. Docker

  1. nextcloud

4. Web

  1. HTML’s Elements
  2. Emmet
  3. JavaScript
  4. Anchor Tag
  5. Post, Get
  6. Block, Inline Elements
  7. Semantic Web
  8. Semantic Elements
  9. CSS
  10. Viewport_meta_tag
  11. Media_queries
  12. JavaScript

5. DB

  1. MySQL

클라우드 엔지니어를 꿈꾸며 공부를 시작한 초보 엔지니어입니다. 틀린점 또는 조언해주실 부분이 있으시면 친절하게 댓글 부탁드립니다. 방문해 주셔서 감사합니다 :)

댓글남기기