◎ ONBUILD 를 사용하면 만들어진 도커이미지를 베이스 이미지로 사용하여 빌드하면 실행된다 >> docker image 를 개발자 혼자 모두 만드는 것이 아니다 >> nginx 기반으로 웹개발을 하는데, 규모가 너무 크면 팀으로 진행을 한다 [ EX ] ---- 가정 ---- # 팀장이 docker image.base 를 만들어서 뿌리면 # 팀원들은 ONBUILD ADD 의 내용에 따라 mkdir src/website.tar 를 만들어서 # 각자 개인들의 작업을 실행한다 팀원 길동 영희 철수 역할 웹디자인 디비연결 프로그램 개인이 쓰는 파일 src/website.tar src/website.tar src/website.tar # 똑같이 쓸 이미지는 똑같이 쓰고, 다르게 쓰는 이미지를 각자 ONBUIL..
● dockerfile FROM alpine # MAINTAINTER kildong LABEL arthor="kildong" LABEL version="alpine:httpd" LABEL description="docker file test only" EXPOSE 8080 RUN apk update RUN apk add apache2 RUN useradd -m admin WORDIR /tmp USER admin RUN touch 1.txt RUN touch 2.txt CMD /usr/sbin/httpd -f /etc/apache2/httpd.conf -DFOREGROUND docker build -t alpine:httpd ① docker run -d alpine # alpine 이미지 가져와서 컨테이너..
EXPOSE ▶ Docker 이미지에서 포트를 알려주는 역할 >> 포트를 지정하는 건 아니다 FROM alpine # MAINTAINTER kildong LABEL arthor="kildong" LABEL version="alpine:httpd" LABEL description="docker file test only" EXPOSE 8080 RUN apk update RUN apk add apache2 CMD /usr/sbin/httpd -f /etc/apache2/httpd.conf -DFOREGROUND 더보기 [vagrant@docker1 work]$ docker build -t alpine:httpd . [vagrant@docker1 work]$ docker run -d alpine:httpd ▷..
# CMD 컨테이너 올라갈 때 실행하는 명령어 # 비대화식으로 하지 않으면 - y 부분에서 멈출 수도 있다 FROM ubuntu:18.04 RUN apt-get update RUN apt-get install nginx -y CMD ["nginx","-g","daemon off;"] [vagrant@docker1 work]$ docker build -t dockimg:1.0 -f dockerfile . ▶ 이미지 생성 [vagrant@docker1 work]$ docker image ls dockimg REPOSITORY TAG IMAGE ID CREATED SIZE dockimg 1.0 ad047a14f706 11 seconds ago 169MB ▶ 포트 포워딩으로 컨테이너 올린다 [vagrant@do..
● Dockerfile : 필요없는 것을 빼고 작게 만들 수 있고, 최적화가 되어있다 [ 주로 Docker image 는 Dockerfile 로 만들어진다 ] https://docs.docker.com/reference/dockerfile/ Dockerfile reference Find all the available commands you can use in a Dockerfile and learn how to use them, including COPY, ARG, ENTRYPOINT, and more. docs.docker.com # Dockerfile 명령어 참조 ◆ testtfile 만들어보기 FROM [ Base image ] # FROM 으로 시작한다 RUN [ 리눅스 명령어 ] # 커맨드를 ..
image 파일로 만들기 ▶ apache container 의 계열 확인 더보기 Redhat : cat / etc / redhat-release Devian cat / etc / issue ▷ useradd admin 만들어도 바로 홈 디렉터리에 만들어지지는 않는다 / home / admin 이 없다 >> useradd -m admin : / home / admin 디렉터리를 생성하는 옵션 root@ca977e46c872:/usr/local/apache2/htdocs# useradd -m admin ▷ apt 업데이트로 패키지를 다운로드 한다 >> update 하지 않으면, repo가 존재하지 않는다 root@ca977e46c872:/usr/local/apache2# apt update ▷ net-too..
● 포트포워딩 [vagrant@docker1 ~]$ docker run -d --name httpd -p 9900:80 httpd:2.4 ● 이유는 방화벽 때문이다 >> DNAT 들어오는걸 막는다 >> tcp 9900 이 들어오면 >> 172.17.0.2:80 으로 중계한다 >> MYSQUERADE ( NAT ) 172.17.0.0/16 은 컨테이너 IP 이고 요청이 들어오면 내보내준다 [vagrant@docker1 ~]$ sudo iptables -t nat -L -n Chain PREROUTING (policy ACCEPT) target prot opt source destination DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL ..
● Docker - 단일 노드 ● Docker Swarm - 오케스트레이션 => 멀티노드 ● Kubernetes - 오케스트레이션의 표준 [ 어 려 움 ] ● Openshift ( 상용 ) - RedHat - 쿠버네틱스에서 못하는 기능이 있다 - 쿠버네틱스의 복잡함에서 쉽게 사용 가능하다 - 상용 제품이므로 기술 지원 받을 수 있다 # 자격증 존재 ● vm 하드웨어 가상화 / container 운영체제 가상화 # 오케스트레이션 : 여러 개의 컴퓨터 시스템, 애플리케이션 및/또는 서비스를 조율하고 관리하는 것으로, 여러 개의 작업을 함께 연결하여 크기가 큰 워크플로나 프로세스를 실행하는 방식 실습 환경 조성 OS CentOS / Ubuntu Ram 4G Nic NAT / NIC ( Hostonly ) IP..
▶ php 다운로드 https://windows.php.net/downloads/releases/archives/ windows.php.net - /downloads/releases/archives/ windows.php.net php-5.6.9-nts-Win32-VC11-x64.zip ▶ 압축을 풀고 php 폴더로 만든 후, C 드라이브 바로 밑으로 이동 ▷ Visual C++ Redistributable for Visual studio 2012 Update 4 설치 https://www.microsoft.com/en-us/download/details.aspx?id=30679 Download Visual C++ Redistributable for Visual Studio 2012 Update 4 fr..