本文借鑑:https://itxing666.github.io/2018/07/18/docker/,且親測案例
image(鏡像)簡單操作
查操作:
// 列出本機所有image 文件
docker image ls
或
docker images
刪操作:
-------------------------------------------------------------
注意刪除鏡像操作有坑!!!請閱讀完在操作
// 刪除鏡像操作
docker rmi [image id]
若執行操作時報錯,顯示鏡像正在被使用,需要停止容器。
Error response from daemon: conflict: unable to delete fce289e99eb9 (must be forced) - image is being used by stopped container adde05e5da86
請先查看該鏡像的容器ID
// 查看容器ID
docker ps -a
刪除容器ID
// 刪除容器ID
docker rm [CONTAINER ID]
然後在執行刪除鏡像操作
-------------------------------------------------------------
創建鏡像文件操作:
準備工作:
注意!!!執行什麼語言的文件務必獲取該語言的鏡像文件[大部分在鏡像倉庫中都能夠獲取到]
從docker hub鏡像庫獲取鏡像文件等操作(母鏡像)
// 拉取鏡像文件
docker pull [image 文件]
// 查看鏡像文件
docker images
// 運行鏡像文件
docker container run [image 文件]
執行情況如下圖所示(圖片出自https://itxing666.github.io/2018/07/18/docker/,親測確實有效)
開始創建:
進入到需要放到docker中的文件
// cd 文件夾名
cd GO
創建Dockerfile文件
// 創建 Dockerfile配置文件
touch Dockerfile
vim Dockerfile
文件中寫入
FROM golang
FROM golang
MAINTAINER "xingdm"
WORKDIR $GOPATH/src/godocker
ADD . $GOPATH/src/godocker
RUN go build go_1.go
解釋 並 拓展:
FROM -> 母鏡像
MAINTAINER -> 維護者信息
WORKDIR -> 工作目錄
ADD -> 將文件複製到鏡像中
RUN -> 執行操作(就跟在終端執行語句一樣)
EXPOSE -> 暴露端口
ENTRYPOINT -> 程序入口
創建image 文件
// 創建image文件
docker image build -t [image文件名] .
例子
docker image build -t go .
生成容器
//生成容器
docker container run -it [image文件名] /bin/bash
例子
docker container run -it go /bin/bash
解釋 並且 拓展:
-it 容器的 Shell 映射到當前的 Shell,然後你在本機窗口輸入的命令,就會傳入容器
-p 容器的3000端口映射到本機的8000端口(web項目需要考慮端口映射) -p 3000:8000
/bin/bash 容器內部第一個執行的命令。這裏是啓動 Bash,保證用戶可以使用 Shell
go image文件的名字(如果有標籤,還需要提供標籤,默認是 latest 標籤)
如下圖所示
ok 自己完成了一個簡單的創建image文件過程
彩蛋~~~
由於是新手所以瞎搞踩了個坑
docker中創建了一個同image ID ,REPOSITORY不同(image 文件名相同)的文件。如何刪除