Dockermirror
使用映象加速訪問。
#1. 新增映象配置sudo sh -c 'echo "{ \"registry-mirrors\": [\"https://docker.mirrors.ustc.edu.cn/\"]}">/etc/docker/daemon.json'#2. 重啟Docker服務sudo systemctl restart docker#3. 驗證docker info|grep -C1 Mirrors
No official base image!!!DRY RUNbusybox和alpine都是極其小巧的映象,但busybox主要為x86_64架構設計,我們嘗試使用alpine。
docker pull arm32v7/alpine docker run arm32v7/alpine echo "hello world"
registry
docker pull arm32v6/registry docker run -d -p 5000:5000 --restart always --name registry arm32v6/registry # kubernetes預設使用HTTPS拉取映象,推送地址需是域名,映象服務使用之前的Let's Encrypt證書 # cd ~/.acme.sh # docker run -d -p 5000:5000 --name registry --restart=always -v /home/pi/.acme.sh/'*.iamwhatiam.ml':/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/'*.iamwhatiam.ml.cer' -e REGISTRY_HTTP_TLS_KEY=/certs/'*.iamwhatiam.ml.key' arm32v6/registry ##### 配置dns或hosts,將hub.iamwhatiam.ml指向本機。登入,輸入使用者名稱、密碼,比如myusername/mypassword # docker login hub.iamwhatiam.ml:5000 ##### 驗證registry是否正常 # curl -X GET hub.iamwhatiam.ml:5000/v2/_catalog
rootfs從基礎映象,比如alpine和debian,可以看到,他們都是基於一個rootfs開始構建。所以,我們也得先準備一個自己的rootfs。
mkdir -p ~/docker/rootfsgit clone https://github.com/debuerreotype/debuerreotype.git~/debuerreotype/raspbian.sh ~/docker/rootfs buster#經過漫長執行,可以看到在~/docker/rootfs/raspbian/armhf/buster/slim下有rootfs.tar.xz檔案!
目錄如下
/bin #基礎命令(系統啟動需要),比如sh,tar,su,sed,rm,ps,ping,netstat,mv,mount,mkdir,ls,gzip,grep,df,dd,cp,chown,chmod,cat等等
/dev #裝置檔案,比如網路、控制檯、記憶體目錄(空)
/etc #配置檔案,比如passwd,hosts,fstab
/etc/init.d #系統開機自啟動命令(空)
/etc/logrotate.d #日誌
/etc/modprobe.d #
/etc/modules-load.d #
/etc/network #
/etc/opt #給/opt目錄軟體的配置檔案目錄
/etc/profile.d #
/etc/ssl #
/etc/sysctl.d #
/home #使用者主目錄(空)
/lib #核心模組,/bin和/sbin需要的連結庫,比如核心庫(glibc或musl)、SSL庫、包管理庫
/media #掛載可移除裝置(usb,floppy,cdrom)用的目錄
/mnt #掛載用的目錄(空)
/opt #第三方軟體目錄(空)
/proc #系統執行資料目錄(空)
/root #root使用者主目錄(空)
/run #系統執行資料目錄(空)
/sbin #系統基礎命令目錄,比如arp,fdisk,ifconfig,init,ip,lsmod,mkfs,poweroff,swapon等等
/srv #系統提供的服務存放資料目錄(空)
/sys #(空)
/tmp #臨時檔案目錄(空)
/usr #共享只讀資料
/usr/bin #指向/bin的軟連結
/usr/lib #指向/lib的軟連結和其它
/usr/local #包含share,local,lib三個空目錄
/usr/sbin #指向/bin的一些軟連結
/usr/share #包含misc,man空目錄及包管理需要的公鑰
/var #可變資料
/var/tmp #(空)
/var/spool/cron/crontabs #定時任務
/var/opt #(空)
/var/log #(空)
/var/lock/subsys #(空)
/var/local #(空)
/var/lib #(空)
/var/empty #(空)
/var/cache #應用快取(空)
/var/run #指向/run的軟連結