맥 도커로 LAMP 환경 만들기

mac에서 docker를 사용하여 LAMP 개발 환경을 만들었으므로 메모

하고 싶은 일



docker로 「apache+php」의 앱 컨테이너, mysql의 DB 컨테이너 phpmyadmin를 넣는 컨테이너의 3개의 컨테이너를 만듭니다.










전제



DockerHub 계정을 만들어 둡니다.
DockerHub란 무엇인가요? 이쪽을 참고로
htp://k의 w㎇d게. 사쿠라. 아 d. jp/t ch/2210/

1.docker 설치



DockerToolbox라고 하는 것이 있어 Virtualbox라든지 세트가 들어가 있어 간단하게 환경 설정할 수 있는 툴을 넣습니다만, OSX Sierra라면 인스톨러가 도중에 멈추어 들어가지 않았습니다.
htps //w w. 도 c r. 코 m / p 로즈 cts / 도 c 케 루와 l 보 x

그래서 Dockern과 VirtualBox를 넣습니다.
htps : // / cs. 도 c r. 코 m / 도 c 케 - 루 루 마 c /
htps //w w.ゃぃr 짠 l보 x. 오 rg / uuki / Down ぉ ds

2. 어플리케이션 컨테이너(apache와 php)의 작성



1.centos 이미지 다운로드



버전 7도 있지만 이번에는 6으로 만들었습니다.$ docker pull centos:6

2. 다운로드한 이미지 확인


$ docker images
REPOSITORY  TAG       IMAGE ID        CREATED      SIZE
centos6     latest    xxxxxxxxxxx    12 days ago  611.9 MB

3. 컨테이너를 만들고 시작


$ docker run -it --name app -p 8080:80 -v /Users/xxxx/source:/share centos:latest※-name으로 컨테이너명을 붙인다.
※-v로 호스트와 컨테이너의 공유 폴더를 결정한다.
※-p로 포트 포워드(이번은 호스트 PC의 브라우저로부터 8080으로 접속하면 컨테이너에 80포트로 변환해 건네준다)

4. 콘솔로 로그인


$ docker exec -it app bash여기에서 일반 centos와 함께. apache와 php 설치 (순서 할애)

5. 연결 확인



호스트 PC의 브라우저에서
http://localhost:8080

3.apache와 php를 넣은 이미지 만들기



컨테이너를 삭제할 때 모처럼 설정한 환경이 없어지므로, image를 작성한 dockerHub에 둡니다.

1. 실행중인 컨테이너 ID 확인


$ docker ps
CONTAINER ID    IMAGE     COMMAND    CREATED      STATUS       PORTS       NAMES
xxxxxxxxx     centos6      "bash"   11 days ago   Up 4 days    0.0.0.0:8080->80/tcp   apps

2. 컨테이너에서 이미지 만들기


$ docker commit (コンテナID) (DockerHubユーザ名)/(イメージ名):(バージョン)

3. 컨테이너 정지 및 삭제


$ docker stop (コンテナID)$ docker rm -f (コンテナID)

4. 이전 이미지 삭제



다운로드 한 centos 이미지가 필요하지 않은 경우 삭제$ docker rmi (イメージID)
만든 이미지의 컨테이너를 아직 시작하지 마십시오.
※mysql 컨테이너를 작성한 후에 접속 정보를 부가해 기동하기 위해서

4.docker hub에 이미지 업로드



1. 이미지 태그


$ docker tag (イメージID) (DockerHubユーザ名)/(イメージ名):(バージョン)

2.docker hub에 push



로그인$ docker login로그인 사용자 정보 확인$ docker infopush!$ docker push (DockerHubユーザ名)/(イメージ名):(バージョン)

5. mysql 컨테이너 만들기



1.mysql 이미지 다운로드


$ docker pull mysql

2. 컨테이너 생성 및 시작



앱 컨테이너처럼 시작. 시작시 mysql 비밀번호 설정$ docker run -it --name mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:latest -p 3906:3306
※주의! mysql의 데이터는 영속화되지 않기 때문에 백업을 실시하는 것. docker run으로 컨테이너를 다시 만들면 데이터가 초기화됩니다.
혹은, -v로 볼륨 마운트할까입니다.
ぃ tp // 이 m/74th/이고 ms/41393f506d223850f2c3

6.phpmyadmin 만들기



1.phpmyadmin 이미지 다운로드


$ docker pull phpmyadmin/phpmyadmin

2. 컨테이너 생성 및 시작


$ docker run --name phpmyadmin -d -e PMA_HOST=mysqlのIP -p 8090:80 phpmyadmin/phpmyadmin
작성한 mysql의 IP를 지정해 작성·기동

http://localhost:8090
에서 액세스 확인

7. app 서버와 db 서버 연결



1. 앱 컨테이너를 DB에 연결하여 생성 및 시작


docker run -it --name app --link mysql:latest -d -p 8080:80 -v /Users/xxxx/source:/share centos:latest--link에서 mysql과 링크시켜 실행

2. 연결 확인



앱 컨테이너에 로그인하여 mysql 명령에서 연결 확인$ docker exec -it app bash

3. 컨테이너의 기동 상태를 확인


$ docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                  NAMES
xxxxxxx        phpmyadmin/phpmyadmin          "/run.sh phpmyadmin"     11 days ago         Up 4 days           0.0.0.0:8090->80/tcp   phpmyadmin
xxxxxxx        user/centos6_httpd_php54:1.0   "bash"                   11 days ago         Up 4 days           0.0.0.0:8080->80/tcp   cmsapps
xxxxxxx        mysql:latest                   "docker-entrypoint.sh"   12 days ago         Up 4 days           3306/tcp               mysql

다음 번부터 mysql → phpmyadmin 또는 centos 순으로 docker start로 시작하면 OK!

참고 사이트



h tp // w w. 아 t r t. 이. jp / ai t / archi c0s / 1408/26 / 네 ws038. HTML
htp://k의 w㎇d게. 사쿠라. 아 d. jp/t ch/2210/
h tp : // 쿠이타. 이 m/74th/이고 ms/41393f506d223850f2c3

좋은 웹페이지 즐겨찾기