docker被挖礦鏡像沒了
Ⅰ dockersave導出的鏡像沒有repository
沒有。Docker 包括三個基本概念:鏡像(Image):Docker 鏡像(Image),就相當於是一個 root 文件系統。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 文件系統。
Ⅱ docker根目錄下沒有docker文件,怎麼辦
、停止docker服務。
systemctl stop docker; //每個liunx版本的命令不一樣。
2、創建新的docker目錄,執行命令df -h,找一個大的磁碟。我的是放在/home目錄下面,我的/home目錄大小有900G。我在 /home目錄下面建了 /home/docker/lib目錄,執行的命令是:mkdir -p /home/docker/lib
3、遷移/var/lib/docker目錄下面的文件到 /home/docker/lib下面
cp -R /var/lib/docker/* /home/docker/lib/
注意:如果文件內容很多的話,為了確保成功最好是一個文件一個文件的拷貝。如果在拷貝過程中報「設備上沒有空間」的錯誤,就使用mv剪切。
4、修改docker配置(/etc/systemd/system/docker.service.d/devicemapper.conf),在文件末添加 --graph=/home/docker/lib
devicemapper.conf文件的內容如下:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry=私服地址 --graph=/home/docker/lib
注意:如果/etc/systemd/system/docker.service.d/devicemapper.conf,這個路徑找不到的話,就新建,新建之後加入內容,沒有私服地址的話就可以去掉」–insecure-registry=私服地址」。
方法一、軟鏈接
默認情況下Docker的存放位置為:/var/lib/docker
可以通過下面命令查看具體位置:
sudo docker info | grep 「Docker Root Dir」
解決這個問題,最直接的方法當然是掛載分區到這個目錄,但是我的數據盤還有其他東西,這肯定不好管理,所以採用修改鏡像和容器的存放路徑的方式達到目的。
這個方法里將通過軟連接來實現。
首先停掉Docker服務:
systemctl restart docker或者service docker stop
然後移動整個/var/lib/docker目錄到目的路徑:
mv /var/lib/docker /root/data/docker
ln -s /root/data/docker /var/lib/docker
這時候啟動Docker時發現存儲目錄依舊是/var/lib/docker,但是實際上是存儲在數據盤的,你可以在數據盤上看到容量變化。
方法三、system下創建配置文件
在/etc/systemd/system/docker.service.d 目錄下創建一個Drop-In文件「docker.conf」,默認 docker.service.d 文件夾不存在。所以你必須先創建它。
創建Drop-In 文件的原因,是我們希望Docker 服務,使用docker.conf文件中提到的特定參數,將默認服務所使用的位於/lib/systemd/system/docker.service文件中的參數進行覆蓋。如果你想深入了解Drop-In,請閱讀system.unit文檔
定義新的存儲位置現在打開docker.conf增加如下內容:
# sudo vi /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=「/mnt/new_volume」 --storage-driver=devicemapper
保存並退出VI編輯器,/mnt/new_volume 是新的存儲位置,而devicemapper是當前docker所使用的存儲驅動。如果你的存儲驅動有所不同,請輸入之前第一步查看並記下的值。Docker官方文檔中提供了更多有關各種存儲驅動器的信息。現在,你可以重新載入服務守護程序,並啟動Docker服務了。這將改變新的鏡像和容器的存儲位置。
# sudo systemctl daemon-reload
# sudo systemctl start docker
為了確認一切順利,運行 # docker info 命令檢查Docker 的根目錄.它將被更改為/mnt/new_volume
5、重載配置,重啟docker
systemctl daemon-reload;
systemctl restart docker;
systemctl enable docker;
6、啟動成功後,確定容器沒問題後刪除/var/lib/docker/目錄中的文件,然後就OK了。
關注查看全文
Ⅲ 解決虛擬機docker無法拉取阿里雲鏡像的問題
在學習k8s中執行了創建pod命令,發現ImagePullBackOff,然後查看錯誤原因
--
Error response from daemon: Get https://registry.cn-hangzhou.aliyuncs.com/v2/ : Get https://dockerauth.cn-hangzhou.aliyuncs.com/auth?account=986916990%40qq.com&client_id=docker&offline_token=true&service=registry.aliyuncs.com%3Acn-hangzhou%3A26842 : dial tcp: lookup dockerauth.cn-hangzhou.aliyuncs.com on [fe80::21c:42ff:fe00:18%eth0]:53: dial tcp [fe80::21c:42ff:fe00:18%eth0]:53: connect: connection refused
--
結果通.
發現不通,所以問題定位到虛擬機的DNS上,解析不了這個地址
4.將本機dns改成阿里家的dns解決
途中的DNS地址即阿里的DNS地址
Ⅳ docker 修改/var/lib/docker的地址後 所有有鏡像找不到了
方案1, 使用參數-g 來修改 Docker 的鏡像存儲文件夾.
修改方法如下:
在 Ubuntu/Debian 系統下:
編輯 /etc/default/docker 文件, 添加-g 參數的設置, 如下:
DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
在 Fedora/Centos 系統下:
編輯 /etc/sysconfig/docker 文件, 添加-g 參數的設置, 如下:
other_args="-g /mnt"
重啟 Docker 服務, 問題就解決了.
方案2 使用鏈接
1) 停止 Docker: service docker stop.
2) 做個備份 tar -zcC /var/lib/docker > /mnt/var_lib_docker-backup-$(date + %s).tar.gz
3) 遷移/var/lib/docker目錄到met 目錄下: mv /var/lib/docker /mnt/docker
4) 建個 symlink: ln -s /mnt/docker /var/lib/docker
5) 確認文件夾類型為symlink 類型 ls /var/lib/docker
6) 啟動 docker service.
Ⅳ 使用dockerrun命令的時候發現沒有本地鏡像會如何處理
1、首先先去Dockerhu遠端拉取鏡像。
2、其次拉取後就會實例化執行入口命令了。
3、最後重新執行dockerrun命令就可以了。
Ⅵ win7 宿主機關閉docker鏡像丟失怎麼解決
解決辦法
Ⅶ docker 修改/var/lib/docker的地址後 所有有鏡像找不到了
docker
search
centos
並沒有加版本號,默認使用latest,等價於
docker
search
centos:latest
如果希望安裝centos6,鍵入以下命令
docker
pull
centos:6
centos6和7都是繼承centos
base
image的鏡像,centos
base
image裡面會調用你的centos裡面的一些命令。
希望可以幫到你。
Ⅷ 卸載了docker鏡像沒刪除怎麼辦
docker 的數據默認保存在 /var/lib/docker 路徑下,如果卸載了docker不考慮要數據的話,可以直接把 /var/lib/docker 目錄刪除。
Ⅸ 為啥yum -y update之後docker運行的容器和鏡像都沒有了
這個情況一般要重新配置下了 ,之前的配置的或者已經失效了,可以看下《linux 就該這么學》有沒有,祝你好運了
Ⅹ mysql docker commit 後的鏡像沒有數據
原因: docker commit 提交後 容器中的 /var/lib/mysql/ 中的 文件是沒有被提交到鏡像中的。
解決方法:
1、需要 在修改mysql容器 中的 根目錄下 新建目錄 mdkir /workdir 。
2、 將 /var/lib/mysql 復制 到新建目錄中。
3、 修改 /etc/mysql/my.cnf
datadir = /workdir/mysql
4、退出 重啟 容器就生效。
5、重新 將該容器 commit 為新 的鏡像, 再進行開新容器就可以了。