반응형
Jen'_'
Jen's Space
Email
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (98)
    • Ansible (4)
      • 우아한앤서블 (4)
    • Cloud (19)
      • AWS (17)
      • GCP (2)
    • DevOps (40)
      • Docker (6)
      • Kubernetes (26)
      • CICD (6)
      • Terraform (2)
    • Language (13)
      • Python (12)
      • Node.js (1)
    • Linux (10)
    • etc. (7)
    • 개인기록 (1)
    • AEWS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 피드백 환영합니다 :)

인기 글

태그

  • ubuntu
  • ansible
  • autoscaling
  • gitops
  • argocd
  • terraform
  • ALB
  • 자격증
  • EKS
  • karpenter
  • vagrant
  • AWS
  • INGRESS
  • Kubernetes
  • jenkins
  • k8s
  • 쿠버네티스
  • Docker
  • 우아하게앤서블
  • CICD

최근 댓글

Jen'_'

Jen's Space

Docker로 ubuntu, apache, php 환경의 이미지 만들기
DevOps/Docker

Docker로 ubuntu, apache, php 환경의 이미지 만들기

2021. 7. 15. 16:12
반응형

 

우분투 아파치 설치 방법

  • 래드햇, CentOS -> httpd
  • 데비안, Ubuntu -> apache2

 

1
2
3
4
5
6
7
8
[root@ip-192-168-0-10 ~]# docker run -it --name ubuntu-test ubuntu 
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
a31c7b29f4ad: Pull complete 
Digest: sha256:b3e2e47d016c08b3396b5ebe06ab0b711c34e7f37b98c9d37abe794b71cea0a2
Status: Downloaded newer image for ubuntu:latest
root@d64fc76ecd1a:/# uname -a
Linux d64fc76ecd1a 4.14.232-177.418.amzn2.x86_64 #1 SMP Tue Jun 15 20:57:50 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
cs
 

 

apache2 설치

1
2
3
4
5
root@d64fc76ecd1a:/# apt-get update
root@d64fc76ecd1a:/# apt-get upgrade
root@d64fc76ecd1a:/# apt-get install vim
root@d64fc76ecd1a:/# apt-get install apache2
 
cs

 

 

apache2 구동 명령어

  • sudo service apache2 start
  • sudo service apache2 enable   
  • sudo service apache2 stop    

 


apache 및 php5.6 개발환경 구축 

 

Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
FROM ubuntu:18.04
MAINTAINER Wimes <dev.wimes@gmail.com>
 
# Avoiding user interaction with tzdata
ENV DEBIAN_FRONTEND=noninteractive
 
RUN apt-get update
RUN apt-get install -y apache2 # install Apache web server (Only 'yes')
RUN apt-get install -y software-properties-common # php 5.6(이전버전) 설치를 위해
RUN add-apt-repository ppa:ondrej/php # For Installing PHP 5.6
RUN apt-get update
RUN apt-get install -y php5.6
 
EXPOSE 80
 
CMD ["apachectl", "-D", "FOREGROUND"]
Colored by Color Scripter
cs

 

-d와 -p 옵션을 써서 docker image를 띄어줍니다

1
2
3
[root@ip-192-168-0-10 test]# docker build -t apache .
[root@ip-192-168-0-10 test]# docker run -d -p 8080:80 --name apache-test apache
5c4ac77e11d8e16051e54c975f2152108c7b33639584f03296bf3c8a617aeadd
 
Colored by Color Scripter
cs

 

  • -it 옵션으로 컨테이너 안에 들어가서 작업하려면 service apache2 start 해줘야 합니다

 

저는 EC2에서 작업했기 때문에 보안 그룹에서 8080포트를 열어줬습니다 

 

 

php 파일을 넣고 싶다면 컨테이너 안에서 작업해도 되지만 volume을 걸어서 작업해보겠습니다

  • -p(port) host port:container port
  • -v(volume) host path:container path

 

1
[root@ip-192-168-0-10 test]# docker run -d -p 8080:80 -v /root/test/html:/var/www/html --name apache-test apache
[root@ip-192-168-0-10 test]# cd html
[root@ip-192-168-0-10 html]# vi index.php
<?php phpinfo(); ?>
cs

 

다시 웹서버에 접속하면 웹페이지가 뜹니다!

 

반응형
저작자표시 (새창열림)

'DevOps > Docker' 카테고리의 다른 글

[docker] Failed to get D-Bus connection 에러 해결  (0) 2021.05.29
도커와 쿠버네티스 개념 정리  (0) 2021.05.11
도커 이미지 레이어(Docker Image Layer)  (0) 2021.05.10
docker run 명령어 사용법, 옵션  (1) 2021.05.08
도커 기본 명령어 정리  (0) 2021.05.08
    'DevOps/Docker' 카테고리의 다른 글
    • [docker] Failed to get D-Bus connection 에러 해결
    • 도커와 쿠버네티스 개념 정리
    • 도커 이미지 레이어(Docker Image Layer)
    • docker run 명령어 사용법, 옵션
    Jen'_'
    Jen'_'
    DevOps 엔지니어 Jen의 기술 블로그 / 이메일: jenakim47@gmail.com

    티스토리툴바