#컨테이너 우분투에 아파치 설치
vagrant@docker:~$ docker run -it ubuntu bash
root@395599157e3b:/# apt update
root@395599157e3b:/# apt install apache2
# 다른 터미널에서 확인
vagrant@docker:~$ curl 172.17.0.3 -I
curl: (7) Failed to connect to 172.17.0.3 port 80: Connection refused
# 아파치 실행 후 다른터미널에서 확인
root@395599157e3b:/# apachectl -D FOREGROUND
vagrant@docker:~$ curl 172.17.0.3 -I
HTTP/1.1 200 OK
Date: Fri, 02 Jul 2021 05:49:11 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Fri, 02 Jul 2021 05:48:52 GMT
ETag: "c-5c61d82b7093e"
Accept-Ranges: bytes
Content-Length: 12
Content-Type: text/html
# html파일 수정
root@395599157e3b:/# cd /var/www/html/
root@395599157e3b:/var/www/html# rm index.html
root@395599157e3b:/var/www/html# echo "hello world" > index.html
root@395599157e3b:/var/www/html# apachectl -D FOREGROUND
vagrant@docker:~$ curl 172.17.0.3
hello world
# 포트 수정
root@395599157e3b:/etc/apache2# sed -i -e 's/OLD/NEW/g' ports.conf
-i 저장 -e 에디터 s대치하라 /기존 문장/새로운 문장/일전 파일전체 파일명
root@395599157e3b:/etc/apache2# sed -i -e 's/Listen 80/Listen 8080/g' ports.conf
# 확인
root@395599157e3b:~# apachectl -D FOREGROUND
vagrant@docker:~$ curl 172.17.0.3
curl: (7) Failed to connect to 172.17.0.3 port 80: Connection refused
vagrant@docker:~$ curl 172.17.0.3:8080
hello world
이미지 레이어 비교
# 도커 커밋하여 이미지 생성 1
vagrant@docker:~$ docker commit 39 apache:v1
sha256:3b20dac0855690ddd86794d18adffcaadfe245ca48c052abbf02349acdfddb52
# 컨테이너 생성 1
# 아파치를 자동 실행 시켜주는 명령어와 함께 실행
vagrant@docker:~$ docker run -d apache:v1 apachectl -D FOREGROUND
# 도커 커밋하여 이미지 생성 2
# change 명령어를 넣어 이미지를 생성 할 때,
따로 명령어를 넣어주지 않아도 아파치를 자동 실행 시켜주게 한다
vagrant@docker:~$ docker commit --change='CMD apachectl -D FOREGROUND' 39 apache:v2
# 컨테이너 생성 2
vagrant@docker:~$ docker run -d apache:v2
vagrant@docker:~$ docker ps
# 기존에 있던 우분투 이미지
vagrant@docker:~$ docker image inspect ubuntu | tail
"Layers": [
"sha256:feef05f055c989eea0367f5d3a2cba79896dd6d8a8b72bea2c729548a4ca5aef"
# 새로만든 이미지
# 상태가 변경된 상태로 이미지를 만들어서 추가된 레이어가 있다
# 포트 수정 , html 파일 수정
vagrant@docker:~$ docker image inspect apache:v1 | tail
"Layers": [
"sha256:feef05f055c989eea0367f5d3a2cba79896dd6d8a8b72bea2c729548a4ca5aef",
"sha256:a58c3056daeffb397efcf164c2347913c790d9cdcef6b034728164f89d22ddb7"
'클라우드 > 도커(Docker)' 카테고리의 다른 글
도커 Docker .dockerignore 파일 (0) | 2021.07.05 |
---|---|
도커 Docker Dockerfile 지시어 (0) | 2021.07.02 |
도커 Docker 이미지 제작 1 (0) | 2021.07.02 |
도커 Docker 로드밸런싱 (0) | 2021.07.02 |
도커 Docker Wordpress 인프라 구축 (0) | 2021.07.02 |