테스트 사이트 - 개발 중인 베타 버전입니다

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

· 5년 전 · 1367

나만의 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 참조

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
3081
3071
3054
3052
3049
3045
3042
3039
3035
3030
3029
3028
3025
3022
3018
3017
3016
3012
3003
2999
2998
2996
2993
2985
2983
2982
2978
2977
2976
2974