라라벨 개발에 docker를 이용한 LaraDock 이란게 있다는 소리를 들었는데

테스트 해볼 수 있는 좋은 포스팅을 따라해 보기로 했다.


http://blog.appkr.kr/work-n-play/dockerize/


포스팅은 docker-machine에서 실행 하는 것이였는데 나는 VMWare에 우분투를 설치해서 이거 저거 테스트 중이라 샘플 구경할겸 따라 해보기로 했다.

모든 참사는 여기에서 부터 시작한다  '이거 저거 테스트 하던 가상머신' 이라는것이다.


동작하던 아파치와  mariadb를 중지 시키고 하라는 대로 따라했다.


첫번째 벽은 HAProxy에서 시작했다.

도데체 이걸 어떻게 설정 하는거지? 구글링 끝에 찾아낸 설정으로 변경했다.


기존

### HAProxy Container #######################################

    lb:
#        image: dockercloud/haproxy
        build:
            context: ./lb
            dockerfile: Dockerfile
        links:
            - web
        ports:
            - "80:80"
            - "443:443"
        environment:
            - DOCKER_TLS_VERIFY
            - DOCKER_HOST
            - DOCKER_CERT_PATH
        volumes:
            - $DOCKER_CERT_PATH:$DOCKER_CERT_PATH
            - ./logs/supervisor/:/var/log/supervisor
        tty: true


변경  

### HAProxy Container #######################################

    lb:
        # image: dockercloud/haproxy
        build:
            context: ./lb
            dockerfile: Dockerfile
        links:
            - web
        ports:
            - "80:80"
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
            - ./logs/supervisor/:/var/log/supervisor
        tty: true


두번째는 이상한 에러가 나왔다.

.env에 ip를 틀렸나? 이상한데? 여러 삽질끝에 에러 메시지를 다시 천천히 살펴봤다. class가 없단건데...

공식문서를 뒤진다.

composer require predis/predis:^1.0

빙고!


로그인을 하는데 DB접속을 할 수 없다고 나온다. 이상하다.. 분명 설명 블로그에는 외부에서도 된다 했는데 안된다.

이상하다...그러다 문득..기존에 테스트로 쓰던  mysql과 충돌난게 아닌가? 하는 생각이 번쩍 들었다...

/var/lib/mysql를 이동하고 도커를 다시 실행시켰더니 잘 동작한다.


.env에 ip를 적을 필요 없이  mysql, redis등으로 적어도 도커컨테이너를 잘 찾아서 접속된다.


삽질끝에 docker-compose 사용법과 컨테이너간의 연결에대한 이해도가 조금 생겼다.도커 재미있구나