나만의 docker 이미지 만들어 보기 > 서버관리자

서버관리자

서버관리자 모임 게시판 입니다.

나만의 docker 이미지 만들어 보기 정보

나만의 docker 이미지 만들어 보기

본문

나만의 Docker 이미지 만들어 보기

Docker Hub 에 가입하고..

  1. docker desktop 을 설치하고

  2. Git clone https://github.com/docker/doodle.git

  3. cd doodle\cheers2019 ; docker build -t [아이디]/cheers2019 .

  4. docker run -it [아이디]/cheers2019

    cheers.gif

  5. docker login ; docker push [아이디]/cheers2019

    18.PNG

    birthday2019, halloween2019, summer2019 도 있으니 테스트 해 보세요

Wordpress Dockerfile 을 만들어 보자.

  1. Git clone https://github.com/docker-library/wordpress

  2. PHP 버전 3 개: 7.2, 7.3, 7.4
    Apache, cli, fpm-alpine, fpm: 4 개의 디렉토리가 있는데, cli 는 제외

  3. php7.4 아파치 버전을 만들어 봅니다.

    cd wordpress/php7.4/apache
    docker build -t [아이디]/wordpress:5.3.2 .
    
  4. Wordpress Docker Hub 를 보면 5.3.2 에 대한 Tag 가 여러개 있네요.

    5.3.2-apache, 5.3-apache, 5-apache, apache, 5.3.2, 5.3, 5, latest, 5.3.2-php7.3-apache, 5.3-php7.3-apache, 5-php7.3-apache, php7.3-apache, 5.3.2-php7.3, 5.3-php7.3, 5-php7.3, php7.3

  5. 이 태그를 붙여 보겠습니다.

    docker image tag [아이디]/wordpress:5.3.2 [아이디]/wordpress:5.3.2-apache
    

    다른 태그는 알아서 해보세요

  6. 올려보겠습니다.

    docker login
    docker push [아이디]/wordpress
    
  7. Tag 를 단 것이 모두 한번에 올라갔네요.

    19.PNG

  8. Docker-compose를 사용해서 만든 Wordpress를 이용해서 테스트 해 보겠습니다.

    phpmyadmin 만 추가합니다. (이전글 참조)

  9. test 디렉토리를 만들고 그 안에 docker-compose.YAM 파일을 아래와 같이 만듭니다. 차이점은 wordpress 에 내가 만든 image: [아이디]/wordpress:5.3.2가 들어가게 변경해 줍니다.

    mkdir test
    touch docker-compose.yml
    
    version: '3.3'
    
    services:
        mysql:
            image: mysql:5.7
            volumes:
                - db_data:/var/lib/mysql
            restart: always
            environment:
                MYSQL_ROOT_PASSWORD: somewordpress
                MYSQL_DATABASE: wordpress
                MYSQL_USER: wordpress
                MYSQL_PASSWORD: wordpress
    
        wordpress:
            depends_on:
                - mysql
            image: [아이디]/wordpress:5.3.2
            ports:
                - "8081:80"
            restart: always
            environment:
                WORDPRESS_DB_HOST: mysql:3306
                WORDPRESS_DB_USER: wordpress
                WORDPRESS_DB_PASSWORD: wordpress
                WORDPRESS_DB_NAME: wordpress
    
        phpmyadmin:
            image: phpmyadmin/phpmyadmin
            restart: always
            environment:
                PMA_HOST: mysql
            ports:
                - 8082:80
    
    volumes:
        db_data: {}
    
  10. 아래와 같이 빌드를 합니다.

    docker-compose up -d
    

    Docker hub 에서 잘 읽어 옵니다.

    21.PNG

    처음 실행시에 docker desktop 에서 drive sharing 에 대한 권한 요청을 합니다.

  11. 3 개의 이미지가 잘 돌고 있는지 체크합니다.

    docker-compose ps
    

    20.PNG

  12. 만든 이미지에 문제가 있네요. 에러가 ㅠㅠ

    문제가 있으면 `docker-compose logs [이미지 네임] 으로 확인

    22.PNG

    그외에 전체를 멈추고 지우고 싶을 때

    docker-compose down
    

    docker-compose stop
    docker-compose rm
    

    입니다.

윈도우에서 이미지를 만드니 에러가 나네요. 맥에서 만드니 잘 돌아갑니다.

stackoverflow 참조

공감
0

댓글 0개

전체 97 |RSS
서버관리자 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT