準備:
一臺與服務器系統版本相同且可以連接外網的服務器,我用的是虛擬機
版本信息:
centos 7.2 3.10.0-327.el7.x86_64
docker-ce-19.03.4-3.el7.x86_64
一、添加源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 或者這個源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
這步可能報錯,也沒影響,反正都連不了外網,也就不能下載鏡像了
二、下載安裝包
在虛擬機上下載安裝包
yum install docker-ce --downloadonly --downloaddir=./
這個命令已經用過很多次了,–downloadonly只下載,–downloaddir下載文件保存目錄。如果只要下載某個包,還有這個命令
yumdownloader docker-ce
三、安裝
rpm -Uvh *.rpm
docker -v 查看版本
四、導入、導出鏡像
因爲服務器不能下載鏡像,所以需要通過虛擬機環境下載好鏡像,然後打包,再導入到服務上的docker,導出、導入的命令分別是
# 導出命令
docker save [options] images [images...]
# 導入命令
docker load [options]
示例
docker save -o nginx.tar nginx:latest
或
docker save > nginx.tar nginx:latest
其中-o和>表示輸出到文件,nginx.tar爲目標文件,nginx:latest是源鏡像名(name:tag)
docker load -i nginx.tar
或
docker load < nginx.tar
其中-i和<表示從文件輸入。會成功導入鏡像及相關元數據,包括tag信息
五、導入、導出容器
命令:
# 導出:
docker export [options] container
# 導入:
docker import [options] file|URL|- [REPOSITORY[:TAG]]
示例
docker export -o nginx-test.tar nginx-test
其中-o表示輸出到文件,nginx-test.tar爲目標文件,nginx-test是源容器名(name)
docker import nginx-test.tar nginx:imp
或
cat nginx-test.tar | docker import - nginx:imp
最後:
可以依據具體使用場景來選擇命令
若是隻想備份images,使用save、load即可
若是在啓動容器後,容器內容有變化,需要備份,則使用export、import
六、修改docker默認存儲位置
當磁盤空間不夠時,需要修改docker的默認存儲位置:
docker 啓動之後,可以用docker info查看docker 信息,其默認存儲位置爲/var/lib/docker
將–graph /data/docker添加在docker.service文件中的ExecStart字段後面,其中/data/docker爲你需要修改的存儲目錄
$ vim /usr/lib/systemd/system/docker.service
……
ExecStart=/usr/bin/dockerd \
--graph /data/docker
……
重啓服務
$ systemctl daemon-reload
$ systemctl restart docker
之後用docker info可以看到目錄已經改爲/data/docker了
參考鏈接:
https://blog.csdn.net/ncdx111/article/details/79878098
https://blog.csdn.net/bacteriumX/article/details/88417098