0基礎學習docker
阿新 • • 發佈:2022-04-21
進入docker容器命令
docker exec -it 容器id bash
獲取映象
# 1.獲取映象,映象託管倉庫 docker search centos # 查詢centos映象 docker images # 檢視本地的映象 docker pull centos # 下載映象 預設是centos:latest docker pull centos:7.8.2003 # 後面也可以跟版本 docker info | grep Root # 檢視docker檔案儲存路徑 ls /var/lib/docker/image/overlay2/imagedb/content/sha256/ #儲存著docker映象的檔案 # 該檔案的作用是 記錄 映象 和容器的配置關係 # 使用不同的映象 生成容器 # -it 開啟一個互動式的終端 --rm 容器退出時刪除該容器 docker run -it --rm centos bash
檢視映象
docker images # 檢視映象
# 只列出id引數
-q
# 格式顯示映象
# 這是docker的模版語言
docker images --format "{{.ID}}--{{.Repository}}"
刪除映象
# 根據映象的id,名字,摘要等
docker rmi hello-world
# 刪除容器
docker rm 容器id
管理映象
docker images -aq # 檢視映象的id docker rmi `docker images -aq` # 批量刪除映象 # 匯出映象 docker images save centos:7.8.2003 > /opt/centos7.8.2003.tgz # 匯入映象 docker image load -i /opt/centos7.8.2003.tgz
Docker 容器管理
docker run
等於建立+啟動
docker run 映象名,如果映象不存在,則會線上去下載該映象
注意:容器內的程序必須處於前臺執行,否則容器就會直接退出,如果容器內什麼事也沒做,容器也會掛掉
-d 後臺執行 --rm 容器掛掉後自動被刪除 --name 給容器起名字 docker run centos 這個寫法,會產生多條獨立的容器記錄,容器內沒有程式在跑,因此掛掉了 # 執行容器,且進入容器內,且在容器內執行某條命令 docker run -it centos bash # 讓容器後臺執行,會返回一個容器id docker run -d centos ping baidu.com # 檢視容器日誌 docker logs -f docker logs 容器id | tail -5 # 檢視容器的詳細資訊 docker container inspect 容器id # 容器的埠對映 docker run -d --name my_nginx -p 80:80 nginx # 檢視容器的埠對映 docker port 容器id # 容器的隨機埠對映 docker run -d --name my_nginx_random -P nginx # 容器的提交 docker commit 容器id 新的映象名
Docker file
FROM 指定基礎映象
MAINTAINER 指定維護者資訊,可以沒有
RUN 在命令前面加上RUN指令即可
ADD 新增一個宿主機的檔案到容器內,有自動解壓的功能
COPY 作用和ADD是一樣的,COPY就僅僅是拷貝
WORKDIR 設定當前工作目錄
VOLUME 設定卷,掛載主機目錄
EXPOSE 在容器內暴露一個埠
CMD 指定容器啟動時做什麼事
dockerfile實踐
# 1.建立Dockerfile,注意檔名,必須是這個
FROM nginx
RUN echo '<meth charset=utf8>超哥帶你用docker執行nginx服務' > /user/share/nginx/html/index.html
# 2.構建Dockerfile
docker build .
# 3.修改映象名字
docker tag 映象id 名字
# 4.執行該映象
docker run -d -p 80:80 my_nginx
dockerfile指令的用法
# COPY
COPY chaoge.py /home/
# 支援多個檔案,以及萬用字元形式複製
COPY chaoge* /tmp/cc?.txt /home/
# ADD
ADD chaoge.tgz /home/