겉바속촉
[DOCKER] 우분투 기반 도커 프로젝트 (feat. 웹 서버 접속) 본문
728x90
반응형
우분투 기반 도커 프로젝트
목표
- 우분투 기반의 도커 이미지 생성
- 생성한 이미지를 본인의 도커허브에 등록
- 이미지에 bWAPP 설치 후 웹 접속시 bWAPP 페이지 출력
시행착오
- Xshell 연결 오류, 로컬 호스트 접속 오류 --> 인스턴스 EC2 생성해서 해결
- 자동실행 오류 --> 자동실행 파일 생성
작업환경
VMware, ubuntu:18.04, Docker 19.03.13-ce |
과정 1. 시작
1. 도커 설치 후 ubuntu 이미지 다운
docker pull ubuntu:18.04
2. 이미지 기반으로 컨테이너 작업
docker images //다운받은 이미지 확인
docker run -i -t -d ubuntu:18.04 //이미지 기반으로 컨테이너 실행
docker ps //도커 컨테이너 확인
docker exec -it 컨테이너 이름 /bin/bash //컨테이너 접속
3. 컨테이너 접속 후 설치 -> 아파치, php, mysql 설치
아파치 설치
sudo -i
apt-get update -y
apt-get upgrade -y
apt-get install apache2 -y #nginx
apt-get install git -y #git
apt-get install zip -y
apt-get install wget -y
apt-get install vim -y
mysql 설치
apt-get install mysql-server mysql-client libmysqlclient-dev -y
php 설치
apt install software-properties-common -y
add-apt-repository ppa:ondrej/php
apt update
apt install php7.3 php7.3-common php7.3-cli php7.3-mysql -y //region 설치 (6, 69)
apt install php7.3-bcmath php7.3-bz2 php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-readline php7.3-xml php7.3-zip -y
apt install libapache2-mod-php7.3
4. 컨테이너 나와서 컨테이너 및 이미지 확인
exit()
docker ps
docker images
docker exec -it 컨테이너이름 /bin/bash
5. bWAPP 설치
wget https://sourceforge.net/projects/bwapp/
sudo mkdir /var/www/html/bWAPP
sudo mv down /var/www/html/bWAPP/
cd /var/www/html/bWAPP/
ls
sudo unzip down
설치 확인
cd bWAPP/admin/
ls
서비스 상태 확인
sudo service mysql start
sudo service mysql status
sudo service apache2 start
sudo service apache2 status
vim에서 username과 password 수정
vi settings.php
mysql 로그인 확인
mysql -u root -p
show databases;
권한 주기
sudo chmod 777 documents/
sudo chmod 777 images/
sudo chmod 777 passwords/
sudo chmod 777 logs/
ls -ld documents images passwords logs
***mysql 접속 안될 경우***
<터미널>
mysql -u root -p
use mysql;
create user 'id'@'localhost' identified by 'password';
grant all priviledges on bWAPP.* to 'id'@'localhost' identified by 'password';
<vim>
$db_username = "id";
$db_password= "password";
컨테이너 작업
docker run -i -t -d -p 9999:80 이미지명 /bin/bash
커밋으로 이미지 생성
docker commit 컨테이너명 --tag 이미지명:태그명
docker run -i -d -t -p 9999:80 이미지명:태그명
웹서버로 확인
http://localhost:9999/bWAPP/bWAPP/install.php
here 클릭 까지 완료하면 설치 끝!!!
로그인화면으로 확인
http://localhos:9999/bWAPP/bWAPP/login.php
과정 2. 오류해결
- localhost로 크롬창에서 확인
- 하지만 페이지를 찾지 못하고 오류발생 ---> 인스턴스 EC2 생성으로 해결
EC2 인스턴스 생성하는 방법은 ~~~ 다음 포스팅 참고
다음 퍼블릭 주소로 Xshell에서 연결
- 자동실행 오류 --> 자동실행 파일 생성 : dockerfile, service.sh
module-project 폴더 생성 후 그 내부에 파일 생성
dockerfile
FROM juhyun9086/juhyun:1.1
Add ./service.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/service.sh
ENTRYPOINT ["/usr/local/bin/service.sh"]
HEALTHCHECK --interval=1m --timeout=3s --retries=2 CMD curl http:localhost/bWAPP/bWAPP/login.php || service mysql start
service.sh (dockerfile과 같은 곳에 위치)
#!bin/bash
service mysql start
/usr/sbin/apache2ctl -D FOREGROUND
build 해주기 (현재 위치에서) --> 이미지 생성
docker build .-t id/이미지명:태그명
Docker Hub에 push
docker login
docker push build
과정 3. 확인
1. 컨테이너 확인 및 실행
docker ps //컨테이너 실행 여부 확인
docker images //이미지 확인
docker run -i -t -d -p 9999:80 이미지명:태그명 //포트포워딩주면서 실행
2. 크롬창에서 확인
아파치 디폴트 페이지 확인
install 페이지 확인
login 페이지 확인
728x90
반응형
'IT 일기 (상반기) > DOCKER' 카테고리의 다른 글
[DOCKER] 모듈1 끝난 기념 정리 (0) | 2021.01.15 |
---|---|
[DOCKER] MySQL DB 다루기 & bWapp (0) | 2021.01.11 |
[DOCKER] MySQL 비밀번호 변경하기 (2) | 2021.01.11 |
[DOCKER] MySQL 설치 (0) | 2021.01.11 |
[DOCKER] PHP 설치 (0) | 2021.01.11 |