鏡像和容器:當(dāng)我們利用docker安裝應(yīng)用時,Docker會自動搜索并下載應(yīng)用的鏡像(image),鏡像不僅包含應(yīng)用本身還包含應(yīng)用所需要的環(huán)境、配置、系統(tǒng)函數(shù)庫。Docker會在運行鏡像時創(chuàng)建一個隔離的環(huán)境,稱為容器(container)
一鍵部署mysql
輸入以下命令:
docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=密碼 mysql
命令解讀:
-
docker run :創(chuàng)建并運行一個容器,-d是讓容器在后臺運行
-
--name mysql:給容器起一個名字,叫mysql,必須唯一
-
-p 3306:3306:設(shè)置端口映射,前面是宿主機端口,后面是容器內(nèi)端口,容器內(nèi)端口取決于進程,不需要改動,宿主機端口可以改動
-
-e :設(shè)置環(huán)境變量,參數(shù)類型為KEY=VALUE,可以設(shè)置多個,環(huán)境由要安裝應(yīng)用的官方提供
-
mysql:指運行鏡像的名字,一般由兩部分組成,鏡像名:鏡像版本,不寫版本默認最新版本
常用鏡像命令
忘記命令時可以使用--help查看
1)查看安裝的鏡像:
docker images
2)下載指定鏡像:從docker倉庫下載指定鏡像,也叫拉取和git相同
docker pull 鏡像名
3)打包指定鏡像:
docker save -o 打包的包名 要打包的鏡像名:版本號
4)刪除指定鏡像:
docker rmi 鏡像名:版本
5)解析打包的鏡像:
docker load -i 包名 -q
-
-i :后跟要解析的包名
-
-q :不要輸出信息,可選
常用容器命令
1)創(chuàng)建容器:
docker run -d --name 容器名 -p 宿主機端口:進程端口(容器內(nèi)) 鏡像名稱
-
-d:表示后臺運行,一般不省略
-
--name :后跟容器名
-
-p :后跟端口映射
-
-e :環(huán)境變量,可選
-
命令最后添加鏡像名稱
2)查看運行的容器:
docker ps
3)查看所有容器:
docker ps -a
4)停止容器:
docker stop 容器名
5)啟動容器:
docker start 容器名
6)查看日志:
docker logs -f 容器名
-
-f:持續(xù)輸出日志信息
7)進入容器:一個容器就模擬了一個操作系統(tǒng)
docker exec -it 容器名 bash
-
-it:表示添加一個可輸入的終端,后跟容器名
-
bash:交互方式,bash表示命令行交互方式
8)刪除容器:
docker rm 容器名
注意:刪除運行的容器時會提示報錯,有兩種辦法:1、停止在刪除,2、容器名后面添加-f參數(shù)進行強制刪除
9)查看容器詳情:
docker inspect 容器名
數(shù)據(jù)卷
數(shù)據(jù)卷:是一個虛擬目錄,是容器內(nèi)目錄與宿主機目錄之間映射的橋梁,由于使用docker exec 命令進入指定容器中沒法使用vi命令修改文件信息,所以使用數(shù)據(jù)卷進行一系列操作。注意:創(chuàng)建數(shù)據(jù)卷時,首先進行數(shù)據(jù)掛載
常用命令
使用docker volume --help查看命令使用方法和提示
命令 | 說明 |
---|---|
docker volume create | 創(chuàng)建數(shù)據(jù)卷 |
docker volume ls | 查看數(shù)據(jù)卷 |
docker volume rm | 刪除指定數(shù)據(jù)卷 |
docker volume inspect 數(shù)據(jù)卷名 | 查看數(shù)據(jù)卷的詳情 |
docker volume prune | 清除數(shù)據(jù)卷 |
數(shù)據(jù)掛載
1)第一種掛載方式:
在執(zhí)行docker run 命令時,使用 -v 數(shù)據(jù)卷:容器內(nèi)目錄 可以完成數(shù)據(jù)卷的掛載,當(dāng)創(chuàng)建容器時,如果掛載了數(shù)據(jù)卷且數(shù)據(jù)卷不存在,會自動創(chuàng)建數(shù)據(jù)卷,如果創(chuàng)建時不指定數(shù)據(jù)掛載,系統(tǒng)也會自動創(chuàng)建數(shù)據(jù)掛載,創(chuàng)建一個很長名字的數(shù)據(jù)卷
eg:創(chuàng)建nginx容器并創(chuàng)建數(shù)據(jù)掛載
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
-
html:表示創(chuàng)建的數(shù)據(jù)卷的名字
創(chuàng)建完成后使用docker volume inspect 數(shù)據(jù)卷名命令查看宿主機的目錄文件,進行操作
2)第二種掛載方式:
在執(zhí)行docker run 命令時,使用 -v 本地目錄:容器內(nèi)目錄 可以完成本地目錄的掛載,注意:本地目錄必須以/或者./開頭,如果直接以名稱開頭,會被識別為數(shù)據(jù)卷而非本地,這種掛載方式還需要掛載配置文件和初始化腳本
eg:創(chuàng)建nginx容器并創(chuàng)建數(shù)據(jù)掛載
docker run -d --name nginx -p 80:80 -v ./html:/usr/share/nginx/html nginx
-
./html:表示創(chuàng)建本地數(shù)據(jù)掛載的名字文章來源:http://www.zghlxwxcb.cn/news/detail-841404.html
-
注意:這種掛載方式可以實現(xiàn)數(shù)據(jù)的持久保存,推薦使用這種掛載方式文章來源地址http://www.zghlxwxcb.cn/news/detail-841404.html
到了這里,關(guān)于Docker基本使用【數(shù)據(jù)卷的掛載及常用命令】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!