鏡像的一般運用過程
一、鏡像(Image)操作
鏡像是容器的基礎模板,存儲在本地或遠程倉庫中。
1. 鏡像拉取
# 從指定鏡像源拉取 docker pull docker.m.daocloud.io/library/nginx
2. 鏡像查看
# 列出本地鏡像
docker images
# 或
docker image ls# 顯示鏡像詳情
docker inspect <鏡像ID或名稱># 搜索鏡像(需連接Docker Hub)
docker search nginx
3. 鏡像管理
# 刪除鏡像
docker rmi <鏡像ID>
docker image prune ?# 清理懸空鏡像# 給鏡像打標簽
docker tag nginx my-nginx:v1# 導出/導入鏡像
docker save nginx > nginx.tar
docker load < nginx.tar
4. 構建鏡像
# 通過Dockerfile構建
docker build -t my-app:v1 .# 從容器創建新鏡像
docker commit <容器ID> my-new-image
總的來說
docker reach 搜索
docker pull 下載
docker ?rmi 卸載
docker images 列表查看鏡像
二、容器(Container)操作
容器是鏡像的運行實例。
1. 容器啟停
# 啟動新容器
docker run -d --name my-nginx -p 80:80 nginx# 啟動已停止的容器
docker start <容器ID># 停止容器
docker stop <容器ID>
docker kill <容器ID> ?# 強制停止docker stats #查看狀態
docker logs 查看日志
# 重啟容器
docker restart <容器ID>
參數解釋,-d:是后臺運行
? ? ? ? ? ? ? ? ? --name:重命名
-p 80:80:表示在別的服務器里訪問該機80端口的容器的80端口。(也叫端口映射)
在外機訪問顯示如下:
這是修改后的鏡像,要怎么提交,保存和加載呢
首先提交docker commit
參數 -m:你要提交的信息 ,mynginx是指定的容器 ,myngin:v1.0:指定鏡像(也就是你命名的)
保存docker save
-o:把myngin:v1.0寫出為mynginx.tar壓縮包形式文件
mynginx.tar,就可以傳給其他人運行
加載docker load
加載成功,后續可以進行操作
2. 容器查看
# 列出容器
docker ps ? ? ? # 運行中的容器
docker ps -a ? ?# 所有容器# 查看容器日志
docker logs -f <容器ID># 查看容器資源使用
docker stats <容器ID># 查看容器進程
docker top <容器ID>
查看所有容器,包括停止的
3. 容器交互
# 進入運行中的容器
docker exec -it <容器ID> /bin/bash# 直接運行命令
docker exec <容器ID> ls /app# 復制文件
docker cp <容器ID>:/path/to/file ./local_path
docker cp ./local_file <容器ID>:/path/、
參數解釋:-it :表示要交互的意思,也就是命令的發送等
? ? ? ? ? ? ? ?/bin/bash:使用的方式,也就是使用bash控制臺方式交互
ls / : 列出的是容器里的目錄結構。(可以看出跟linux是很相似的,有自己文件系統)
修改容器nginx的默認頁面
再刷新一下瀏覽器
默認頁面修改成功
4. 容器管理
# 刪除容器
docker rm <容器ID>
docker rm $(docker ps -aq) ?# 刪除所有停止的容器# 重命名容器
docker rename old_name new_name# 更新容器配置
docker update --memory 512M <容器ID>
需要注意的是這個刪除的容器是要停止的,05a是容器的id前三位也是可以的