docker-Error: No such container,附docker常用命令
轉載地址:https://blog.csdn.net/ithaibiantingsong/article/details/81353168
——————————————————————————————————
最近打算刪除掉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指定容器名。
docker run -d -t --name hello-world -p 8762:8762 -v /home/app/hello.jar:/home/app/hello.jar java8 java -jar /home/app/hello.jar --spring.profiles.active=dev -d 表示在後臺啟動 -p 8762:8762 表示將容器的埠 對映成宿主主機的埠,否則8762埠訪問不到 -v /home/app/hello.jar:/home/app/hello.jar 表示將宿主主機的jar檔案,對映到容器中(分號前為宿主主機的路徑,分號後為容器中的路徑) --name hello-world表示為該容器取一個全域性唯一的名稱,這裡我取的名稱為hello-world java8 表示映象檔案的名稱(為Java映象重新命名後的名稱) java -jar /home/app/hello.jar 表示執行jar包,注意:這裡的jar包為容器中的位置,是通過前面的-v屬性對映的 --spring.profiles.active=dev 表示spring boot專案配置檔案選用dev的配置
如果使用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