這一節(jié)開始之前呢給大家介紹一個把文件上傳到服務(wù)器里面的工具
vagrant plugin install vagrant-scp
sudo vagrant scp ../chapter5/labs/ docker-node1:/home/vagrant/labs
這里大家需要注意的一點就是如果你用sudo創(chuàng)建的虛擬機喧伞,你就一定要使用sudo執(zhí)行上面的命令不然它會報uid不對的情況,如果你的/home/vagrant/labs沒有權(quán)限你也可以
sudo chmod 777 labs/
我們首先在后臺運行一個名字為mysqlone的mysql容器
sudo docker run -d --name mysqlone -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql
stevendeAir:chapter4 steven$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ed5f4ee8b42d mysql "docker-entrypoint.s…" 16 seconds ago Up 26 seconds 3306/tcp mysqlone
stevendeAir:comment steven$ docker volume ls
DRIVER VOLUME NAME
local 6e4fbcba13c479fa9dd8a036273661a6700210c21ddfd4bca4504e562fc9ca95
此時我們發(fā)現(xiàn)多了一個數(shù)據(jù)卷,然后我們看一下volume詳細的細節(jié)
stevendeAir:comment steven$ docker volume inspect 6e4fbcba13c479fa9dd8a036273661a6700210c21ddfd4bca4504e562fc9ca95
[
{
"CreatedAt": "2018-04-22T03:34:29Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/6e4fbcba13c479fa9dd8a036273661a6700210c21ddfd4bca4504e562fc9ca95/_data",
"Name": "6e4fbcba13c479fa9dd8a036273661a6700210c21ddfd4bca4504e562fc9ca95",
"Options": {},
"Scope": "local"
}
]
然后我們在創(chuàng)建一個
sudo docker run -d --name mysqltwo -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql
stevendeAir:chapter4 steven$ sudo docker volume ls
DRIVER VOLUME NAME
local 5fc6196e1a061041eb82dfb9094199ff29e9dc42c59adab9da9c223e08f2c80c
local 6e4fbcba13c479fa9dd8a036273661a6700210c21ddfd4bca4504e562fc9ca95
接下來我們把這兩個容器停止并刪除
sudo docker stop mysqlone mysqltwo
sudo docker rm mysqlone mysqltwo
stevendeAir:chapter4 steven$ sudo docker volume ls
DRIVER VOLUME NAME
local 5fc6196e1a061041eb82dfb9094199ff29e9dc42c59adab9da9c223e08f2c80c
local 6e4fbcba13c479fa9dd8a036273661a6700210c21ddfd4bca4504e562fc9ca95
但是同學(xué)們我們的volume還是存在的嚎研,但是這個volume的名字有點太長了筒繁,不知道大家發(fā)現(xiàn)了沒有,我們可以給它起個別名阳欲,我們先把這兩個volume刪除
我們重新創(chuàng)建mysqlone
stevendeAir:chapter4 steven$ sudo docker run -d -v mysql:/var/lib/mysql --name mysqltwo -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql
526b4bf79c59f0dd50fe1b5c36ed67987d5481d0c15f82828392d1a0b05abb34
stevendeAir:chapter4 steven$ docker volume ls
DRIVER VOLUME NAME
local mysql
此時我們多了一個mysql的volume舵盈,那么現(xiàn)在我們就來驗證一下到底有沒有起作用。球化。秽晚。。我們首先進入到mysqlone 容器里面
stevendeAir:chapter4 steven$ sudo docker exec -it mysqltwo /bin/bash
root@526b4bf79c59:/# mysql -u root
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
create database docker; //我們創(chuàng)建一個數(shù)據(jù)庫
exit
然后我們強制刪除正在運行的容器
stevendeAir:chapter4 steven$ sudo docker rm -f mysqltwo
mysqltwo
那么現(xiàn)在我們在創(chuàng)建一個mysqlone的container,我們還用之前的volume看看可不可以
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| docker |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.01 sec)
我們發(fā)現(xiàn)mysqltwo的databases是在的筒愚,怎么樣小伙伴們我這里看的差不多了赴蝇,你學(xué)會了嘛!3膊簟>淞妗!B降怼考余!