docker의 노트

4701 단어 DockermacOSM1tech

개시하다


docker의 노트


컨테이너 학습
https://docs.docker.com/docker-for-mac/apple-m1/
M1Mac이면 본문을 참고하세요.
Rosetta 같은 것을 설치하고 docker를 이용하세요.
softwareupdate --install-rosetta

M1Mac에서 통과되지 않은 동작에 대한 명령
움직이지 않았다는 의미를 남겼지만 nginx의 정도는 정상적으로 돌아가는 것 같다.

있으면 편리한 명령


watch 명령
brew install watch에 설치할 수 있습니다.
항상 명령의 실행 결과를 감시하고 싶을 때 편리하다
watch -t "docker ps"

운영 환경


M1 MacBook macOS Big Sur version 11.2
MacBook Air(M1200) 애플 M1 메모리 16GB SSD 256GB
Docker version 20.10.3, build 48d30b5
또는
Windows 10 SurfaceBook

docker 작업 명령


기본적

  • 디스플레이 프로세스
  • docker ps
    
  • 이미지 캡처(Pull)
  • # nginx を取得する。
    docker pull nginx
    
  • 디스플레이 이미지(List)
  • docker images
    
  • 이미지 내역 표시(History)
  • docker history nginx
    
  • 이미지 삭제(Delete Docker Image)
  • docker rmi nginx
    docker images
    

    조작nginx


    nginx 서버 용기 시작 및 정지 예시 가져오기
    # nginx のdockerイメージを取得する。
    docker pull nginx
    # nginx のdocker イメージを起動する。
    docker run -p 80:80 --name nginx nginx
    # 作動中のコンテナ一覧を表示 (List)
    docker ps
    # Webページをcurlを使って取得
    curl localhost:80
    # nginx コンテナを停止
    docker stop nginx
    # 停止中のコンテナも全て一覧表示
    docker ps --all
    # nginx コンテナを削除
    docker rm nginx
    # 停止中のコンテナも全て一覧表示
    docker ps --all
    

    작업nginx(배경)


    nginx가 서버의 용기를 가져오고 백엔드를 시작하고 정지하는 예시
    # nginx のdockerイメージを取得する。
    docker pull nginx
    # nginx のdocker イメージを起動する。
    docker run --detach -p 80:80 --name nginx nginx
    # 作動中のコンテナ一覧を表示 (List)
    docker ps
    # Webページをcurlを使って取得
    curl localhost:80
    # nginx コンテナを停止
    docker stop nginx
    # 停止中のコンテナも全て一覧表示
    docker ps --all
    # nginx コンテナを削除
    docker rm nginx
    # 停止中のコンテナも全て一覧表示
    docker ps --all
    

    nginx 작업 (nginx에서 찾기)


    nginx의 Config 파일 찾기
    # nginx のdocker イメージを起動する。
    docker run --detach -p 80:80 --name nginx nginx
    # 作動中のコンテナ一覧を表示 (List)
    docker ps
    # Webページをcurlを使って取得
    curl localhost:80
    # sh でコンテナに乗り込む
    docker exec -it nginx sh
    # ファイルを探索する
    find / -type d -name nginx | xargs grep -r  html
    # nginx コンテナを停止
    docker stop nginx
    # 停止中のコンテナも全て一覧表示
    docker ps --all
    # nginx コンテナを削除
    docker rm nginx
    # 停止中のコンテナも全て一覧表示
    docker ps --all
    

    작업nginx (첫 페이지 덮어쓰기)


    nginx의 기본 페이지를 "Hello, World"로 덮어씁니다.
    # nginx のdocker イメージを起動する。
    docker run --detach -p 80:80 --name nginx nginx
    # 作動中のコンテナ一覧を表示 (List)
    docker ps
    # Webページをcurlを使って取得
    curl localhost:80
    # sh でコンテナに乗り込む
    docker exec -it nginx sh
    
    # ファイルを探索する
    find / -type d -name nginx | xargs grep -r  html
    # 格納先されているデフォルトのWebページを表示
    cat /usr/share/nginx/html/index.html
    # Hello,Worldで上書き
    echo "Hello World" > /usr/share/nginx/html/index.html
    # sh から抜ける
    exit
    
    # Webページをcurlを使って取得 「Hello,World」と表示されていればOK
    curl localhost:80
    
    # nginx コンテナを停止
    docker stop nginx
    # 停止中のコンテナも全て一覧表示
    docker ps --all
    # nginx コンテナを削除
    docker rm nginx
    # 停止中のコンテナも全て一覧表示
    docker ps --all
    

    docker rmi와 docker rm의 차이


    docker 이미지 삭제
    docker 용기 삭제 rm

    컨테이너 디버깅에 사용할 수 있는 기타 명령

  • 컨테이너의 로그(Log) 표시
  • 용기 내의 실행 로그를 확인할 수 있습니다.
    예제)
    localhost: 80 curl 시 남은nginx 컨테이너 로그
    172.17.0.1 - - [21/Feb/2021:13:07:45 +0000] "GET/HTTP/1.1"200 612 "-""curl/7.64.1""-"
    docker logs nginx
    
  • 컨테이너의 메타데이터 보기(Inspect Docker container)
  • docker inspect nginx
    

    시작 중인 컨테이너에서 자체 이미지 만들기


    
    # nginx のdockerイメージを取得
    docker pull nginx
    
    # カレントディレクトリに「Hello World2」と記載したindex.htmlを用意
    echo "Hello World2" >  $(pwd)/index.html
    
    # nginx イメージを用いてhelloという名前でコンテナをバックグランドで実行
    # この時 ワーキングディレクトリをボリュームマウント
    docker run -d --volume "$(pwd)":/usr/share/nginx/html -p 80:80 --rm --name hello nginx
    
    # curl を実行して動作確認
    curl localhost
    > Hello World2
    
    # コンテナ内のログを確認
    # 直前のcurl のログが見える
    docker logs hello
    > 172.17.0.1 - - [28/Feb/2021:13:34:07 +0000] "GET / HTTP/1.1" 200 13 "-" "curl/7.64.1" "-"
    
    # helloコンテナからイメージを作成
    docker commit hello hello_world
    
    # イメージ一覧を表示
    # オリジナルイメージ、hello_worldが作成できていることを確認
    docker images
    > hello_world   latest    d7e0f64fec8f   6 seconds ago   126MB
    
    

    좋은 웹페이지 즐겨찾기