docker의 노트
개시하다
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
# nginx を取得する。
docker pull nginx
docker images
docker history nginx
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
컨테이너 디버깅에 사용할 수 있는 기타 명령
예제)
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
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
Reference
이 문제에 관하여(docker의 노트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ymd65536/articles/7ac3030916e86c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)