공부합시다!/Container
-
alpine linux in docker공부합시다!/Container 2024. 5. 30. 16:27
hub.docker.com에서 내려받은 alpine linux image를 활용하여 Container 실행 후 사용법. 기본적으로 패키지는 # apk add [패키지명]을 통해서 추가.--no-cache 옵션을 사용하면 local repository에 저장하지 않고 원격지에서 다운로드 후 바로 설치. 단 이때 주의할 점은 /etc/apk/repository 파일의 https -> http로 변경을 해야만 잘 동작한다. 1. alpine linux를 container로 실행하면서 미리 포트포워딩 작업 진행 2. # vi /etc/apk/repositories 파일 설정 변경 https -> http 3. apache2 패키지 설치 후 실행 4. 실행 5. 접속 테스트 6. 동일한 방법으로 nginx를 ..
-
Docker: alpine + nginx Image 만들기공부합시다!/Container 2023. 9. 11. 11:34
alpine 이용하여 간단하게 nginx image를 Dockerifle로 만들어 보겠습니다. 1. nginx.conf 파일 작성user nginx;worker_processes auto;error_log /var/log/nginx/error.log notice;pid /var/run/nginx/nginx.pid;events { worker_connections 1024;}http { include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; access_log /var/log/nginx/access.log; keepalive_timeout 3000;..
-
Dockerfile - CentOS7 + HTTPD공부합시다!/Container 2023. 5. 19. 13:21
1. Dockerfile 1.1. docker inspect로 특정 App 실행하기 위해서 사용 1.2. 코드 형태로 image를 제작할 수 있는 TextFile 1.3. 특정 App를 실행하는 image 제작 1.4. 필수는 아니나 Dockerfile를 제작할 때에는 디렉토리 생성 후 해당 디렉토리에 접근해 사용할 것을 권장 # mkdir /test # cd /test # vi Dockerfile FROM httpd:/latest MAINTAINER sdkim # docker build -t test:1.0 . # docker images 1.5. 베이스 이미지, 컨테이너에서 실행되는 명령, 환경 변수 설정, 컨테이너에서 실행되는 데몬 등의 기능이 정의됨. 2. DockerFile의 기본구성 2.1. ..
-
Podman: Container를 System Service로 관리공부합시다!/Container 2023. 1. 25. 00:13
rootless 컨테이너를 구성하기 위해서 일반 사용자는 systemd Unit을 생성해야 합니다. 이를 통해서 systemctl 명령으로 컨테이너를 일반 시스템 서비스로 관리할 수 있습니다. systemd 유닛을 기반으로 컨테이너를 관리하는 방법은 주로 확장할 필요가 없는 기본 및 소규모 배포에 유용합니다. 더 정교하게 확장하고 오케스트레이션하기 위해 Red Hat OpenShift Container Platform과 같은 Kubernetes 기반의 엔터프라이즈 오케스트레이션 플랫폼을 사용할 수 있습니다. 1. 사용자 생성 2. Container 환경 설정 3. Container 실행 4. systemd unit 만들기 5. loginctl 설정 6. Test 순서로 진행합니다.
-
Docker: cp & tar 다중 파일 복사공부합시다!/Container 2023. 1. 5. 00:14
디렉토리내에 많은 파일이 존재한다거나 /proc, /sys, /dev/, tmpfs와 컨테이너내에 사용자가 생성한 디렉토리를 local 시스템으로 가져온다거나 local system의 디렉토리를 container로 복사하기 위해서는 tar를 사용하셔야 합니다. 1. container -> local system 2. local system -> container 순서로 진행 합니다. 1. mysql container 생성 후 /var/lib/mysql 디렉토리내의 모든 파일을 local system의 /root/mysql 로 이동 1.1. /root/mysql 디렉토리 생성 1.2. mysql:5.7 image를 이용하여 m1 container 생성 1.3. m1 container의 /var/lib/my..
-
PODMAN: Network공부합시다!/Container 2022. 12. 20. 00:12
일단 Docker와 다른 점은 docker daemon이 실행되면 docker-0라고 하는 bridge가 생성되는 데 반해 Podman 은 Daemon이 없기 때문에 container 실행전에는 Bridge가 생성되지 않는 다는 점이다. 하지만 Podman 에서 Container가 실행되면 cni-podman0라는 Bridge가 생성되면서 Container 연결할 포트가 veth93f4f860@if3 의 형태로 Docker에서와 마찬가지로 생성이 된다. 물론 iptables의 규칙 역시 이때 생성이 된다. 그렇다면 일반적인 podman network 구성은 docker 동일한 구조! 차이점이라면 1. podman container가 실행되어야 cni-podman0라는 bridge가 생성되며 2. netw..
-
PODMAN: Copy와 Volume Mount공부합시다!/Container 2022. 12. 19. 00:11
podman 역시 docker와 같이 파일및 디렉토리 복사와 volume mount 기능을 제공합니다. 물론 옵션 역시 동일합니다. 헌데 한 가지 생각하셔야 할 점이 있습니다. - docker 역시 동일 파일 카피는 1회성 작업등에만 사용하시고 지속적인 data 업데이트 (예: Web Site변경)나 Container의 Life Cycle을 갖는 중요 데이터(예: MySQL등에서 관리하는 Database)는 Volume Mount 방식으로 활용을 해야 한다는 점입니다. - 둘의 차이가 극명하지요. 해서 오늘은 DB Connection이 가능한 아주 단순한 Web App를 제공해서 파일 복사 방식과 볼륨 마운트 방식으로 활용하는 방법을 포스팅 합니다. 필요한 파일 4개는 첨부해 놓았습니다. 1. index..
-
PODMAN: Registry와 Search공부합시다!/Container 2022. 12. 16. 00:14
장기 과정 강의 진행시 항상 주의 깊게 살피는 부분이 있습니다. 지각, 결석등의 근태 - 요건 그냥 두면 암처럼 쉽게 퍼져 학습 분위기가 완전히 망가집니다 -와 기본적인 예의 입니다. 아주 사소한 것인데 이런 부분이 잘 통제가 되는 반은 전체적으로 학습 분위기가 좋아서 끝까지 문제가 없습니다만 이런 기본적인 사항들이 통제가 되지 않고 예의까지 없어지면 그 반은 교육중, 또는 과정이 끝나도 문제가 많아지게 됩니다. 조금 잘(?)하는 사람은 겸손하게 주변을 도와주면 되고, 조금 못하는 사람은 감사하게 도움을 받으면 됩니다. 못 하는 것 죄가 아닙니다. 잘하기 위해 공부하는 것이니, 하지만 다른 사람의 기회를 가져와 안하는 것은 죄 입니다. All for one, One for all은 이럴때 쓰는 말인가 봅..