Rumah > Soal Jawab > teks badan
我本地下载了一个 MySql 镜像,想安装官方的。docker pull mysql
后它老自动把本地的给装上去了。
删除本地的mysql docker rmi -f mysql
docker images
查看确实没了,但是
再次 docker pull mysql
,发现安装的还是之前的那个……
怎么跳过本地的 MySql ,安装官方的镜像啊? 谢谢
PHP中文网2017-04-24 16:02:40
Adakah bekas menggunakan imej mysql ini? Atau adakah anda docker tag
menggambar semula imej ini? Atau gunakan versi mysql mirror yang lain? Atau adakah anda menggunakan imej berasaskan debian:jessie
?
Berhati-hati bahawa imej bukan satu fail, tetapi koleksi lapisan storan. Apabila anda melaksanakan docker rmi -f mysql
, anda sebenarnya memadamkan mysql:latest
ini tag
, jadi baris pertama biasanya Untagged: mysql:latest
.
Logik seterusnya ialah jika tiada tag
lain yang menunjuk ke lapisan storan, lapisan storan akan dipadamkan, dan kemudian terus bertanya sama ada lapisan storan seterusnya masih digunakan, dan tidak akan teruskan memadamnya sehingga masa tertentu Jika lapisan mendapati terdapat bekas atau imej yang bergantung pada lapisan storan, pemadaman akan berhenti. Jadi apabila anda melaksanakan docker rmi
, anda boleh memerhatikan bilangan Deleted: sha256: ...
yang muncul Ini ialah bilangan lapisan yang telah dipadamkan dan yang lain belum dipadamkan.
Jadi jika anda docker tag
memasang semula imej mysql ini, maka apabila anda melaksanakan docker rmi
, hanya operasi untag
akan dilaksanakan, dan lapisan storan tidak akan dipadamkan sebenarnya.
Atau jika terdapat imej lain dalam sistem yang berdasarkan imej asas yang sama debian:jessie
, maka docker rmi
hanya akan dipadamkan ke lapisan ini dan berhenti Setiap kali pada masa hadapan, pull
juga akan bermula daripada lapisan ini.
Begitu juga, konsep storan bertingkat ini akan memberi kesan kepada docker pull
anda juga. Apabila anda melaksanakan docker pull
, anda akan menyemak nilai semak setiap lapisan docker:latest
rasmi, dan kemudian membandingkannya secara setempat untuk melihat mana yang sudah wujud Jika ia wujud, tarikan tidak akan berulang dan lapisan storan semasa akan digunakan secara langsung Jika ia tidak wujud, tarik yang baru.
Ambil contoh sebentar tadi jika anda-docker tag
semula-tag
imej mysql:latest
sebelum ini, maka docker rmi
sebenarnya tidak memadamkan imej itu, dan apabila anda docker pull mysql
melakukannya sekali lagi, anda akan cari semua Lapisan storan tersedia secara setempat, jadi tidak perlu menariknya lagi Hanya tukar peringkat teratas tag
kepada mysql:latest
. Tidak perlu risau tentang situasi ini, dan tidak perlu memaksa muat turun semula, kerana sha256sum
boleh memastikan konsistensi fail imej dan laman web rasmi.
Jadi soalan anda perlu bergantung pada situasi tertentu. Secara umumnya, tidak disyorkan untuk menggunakan teg latest
dalam persekitaran pengeluaran, tetapi untuk menentukan versi dengan jelas supaya peningkatan dan penyelenggaraan boleh dilakukan.