ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3. 기초명령어 2편
    Learn/Docker 2021. 4. 26. 00:36

    [ 기초명령어 2 ]

    실행되고 있는 프로세스 살펴보기. (중단된것도 보려면 -a)

    docker ps

     

    실행되고 있는 컨테이저 중지시키려면

    docker stop ${CONTAINER_ID}

     

    로그보기. (대기하면서 추가로그 받으려면 -f)

    docker logs ${CONTAINER_ID}

     

    다운로드한 이미지 보기

    docker images

     

    이미지 가져오기 (run하면 자동으로 가져오긴함)

    docker pull ubuntu:18.04

     

    이미지 삭제. 단, 실행중인 이미지는 못지움. 

    docker rmi ${IMAGE_ID}

     

    컨테이너끼리 이름으로 통신할 수 있는 가상 네트워크 만들기

    docker network create ${NETWORK_NAME}

    특정 컨테이너에 네트워크 추가하기

    docker network connect ${NETWORK_NAME} ${CONTAINER_NAME}

     

    위와 같은 방식으로 가령 wordpress와 mysql을 연결했다면 아래같이 쓸 수 있음. 

    (DB 연결이 이렇게 간단하다니!!)

    docker run -d -p 8080:80 \
    --network=app-network \ 
    -e WORDPRESS_DB_HOST=mysql \
    -e WORDPRESS_DB_NAME=wp \ 
    -e WORDPRESS_DB_USER=wp \ 
    -e WORDPRESS_DB_PASSWORD=wp \ 
    wordpress

     

    [ Volume ]

    이전에 작성했듯 컨테이너가 종료되면 데이터는 다 날아간다. 

    DB는 데이터가 날아가면 안되니까 이 떄 volume 명령어를 사용한다. 

    가령 mysql을 띄울때 아래와 같이 하면 저장할 수 있다. 

    docker run -d -p 3306:3306 \ 
    -e MY_SQL_ALLOW_EMPTY_PASSWORD=true \ 
    --network=app-network \ 
    --name mysql \ 
    -v /my/own/datadir:/var/lib/mysql \ 
    mysql:5.7

    /my/own/datadir에는 컨테이너 밖의 실제 저장할/저장한 공간 위치

    /var/lib/mysql은 컨테이너 안의 공간에서 실제 연동해서 가져와야할 곳의 위치이다. (프로그램마다 다름)

    두 디렉토리를 연동해준다고 생각하면 된다. 

     

     

    'Learn > Docker' 카테고리의 다른 글

    5. 이미지 만들고 배포하기  (0) 2021.04.29
    4. Compose  (0) 2021.04.26
    2. 설치, 기초명령어 1편  (0) 2021.04.25
    1. 개요 - 도커와 쿠버네티스  (0) 2021.04.20

    댓글

Designed by Tistory.