0基礎學習docker
進入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/

浙公網安備 33010602011771號