最近打算刪除掉docker鏡像但是發現有幾個鏡像就是刪除不了,加了-f強制刪除也不行,一直報Error: No such container的錯誤,最后終於找到了辦法直接刪除文件,步驟如下:
切換到root用戶然后:
service docker stop
rm -rf /var/lib/docker
start docker service
到這里就會發現鏡像已經刪除干凈。
附docker常用命令:
重啟docker服務 sudo service docker restart
關閉docker服務 docker service docker stop
開啟docker服務 docker service docker start
查看當前運行的容器:docker ps
查詢存在的容器:docker ps -a
刪除容器:docker -rm CONTAINERID
強制刪除容器:docker -rm -f CONTAINERID
不能夠刪除一個正在運行的容器,會報錯。需要先停止容器。
查看鏡像:docker images
刪除鏡像:docker -rmi IMAGEID
強制刪除鏡像:docker -rmi -f IMAGEID
利用鏡像創建容器:docker run --name centos -itd centos:latest
注:-i表示讓容器的標准輸入打開,-t表示分配一個偽終端,-d表示后台啟動,要把-i -t -d 放到鏡像名字前面,--name指定容器名。
如果使用systemctl啟動服務需要用下面的方式以超級權限啟動,否則會報Failed to get D-Bus connection: Operation not permitted錯誤:
docker run --name centos -itd --privileged=true centos:latest /usr/sbin/init
進入后台運行的容器:docker exec -it containname /bin/bash
啟動容器:docker start containername
停止容器:docker stop containername
停止所有的container,這樣才能夠刪除其中的images: docker stop $(docker ps -a -q)
如果想要刪除所有container的話再加一個指令: docker rm $(docker ps -a -q)
注:-a標志列出所有容器,-q標志只列出容器的ID,然后傳遞給rm命令
刪除全部image的: docker rmi $(docker images -q)
重命名一個容器:docker rename old_name new_name
要獲取所有容器名稱及其IP地址:
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
進入容器內部后可以使用下面命令獲取目前容器的ip:
cat /etc/hosts
在docker容器和宿主機之間復制文件:
切換為root用戶然后:
從主機復制到容器 docker cp host_path containerID:container_path
從容器復制到主機 docker cp containerID:container_path host_path
注意:原博主下方都是噴博主的,原因是原博主第三個命令多了一個點.導致報錯,我已更正。見上圖
About Me
QQ 群:1094019526 tg 群:QQ 群里有
聯系我請加 QQ 好友 (1362449059),注明添加緣由
文章內容來源於 TOM 的學習筆記,部分整理自網絡,若有侵權或不當之處還請諒解
本文轉自https://blog.csdn.net/ithaibiantingsong/article/details/81353168