docker?環(huán)境搭建、docker?與容器常用指令大全(推薦)
一、Docker 環(huán)境搭建
1. 準(zhǔn)備工作(已有 Linux 環(huán)境可省略)
在這里我們用 VM 虛擬機(jī) +CentOS 的環(huán)境進(jìn)行 Docker 部署(建議使用 CentOS 7 以上版本)。
首先準(zhǔn)備一臺 CentOS 系統(tǒng)的虛擬機(jī),可以看到主機(jī)的 IP 地址為 192.168.200.129;
為了更加直觀,我將使用 Xhell 7 連接虛擬機(jī)進(jìn)行操作演示;
2. 安裝 Docker
第一步:yum 包更新到最新;
//更新yum sudo yum update
第二步:安裝需要的軟件包,yum-util(提供 yum-config-manager 功能),device-mapper-persistent-data、lvm2(devicemapper 驅(qū)動依賴);
//安裝需要的包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2
第三步:設(shè)置 yum 源為阿里云;
//設(shè)置阿里云源 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第四步:安裝 Docker;
//安裝docker sudo yum install docker-ce
第五步:檢查 Docker 版本;
//檢查 docker 版本 docker -v
使用 docker -v 命令可以查看到版本號即說明安裝成功。
3. 設(shè)置 ustc 鏡像
Docker 安裝完成之后還需要執(zhí)行一個操作那就是設(shè)置國內(nèi)鏡像站點(diǎn),否則 Docker 中下載操作會很慢。
ustc 是老牌 Linux 鏡像服務(wù)提供者,它的 Docker 加速器速度很快,而且不需要注冊,是真正的公共服務(wù)。
需要注意的是在設(shè)置之前要先啟動 docker 服務(wù),如果不啟動服務(wù)就編輯 .json 文件是無法正常保存的,因?yàn)樗鼰o法找到 Docker 進(jìn)程。啟動 Docker 服務(wù)使用指令:
service docker start
然后 vi 進(jìn)入文件 /etc/docker/daemon.json,在文件中添加以下內(nèi)容;
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
退出保存即可。
二、Docker/容器操作命令匯總
1. Docker 操作命令
systemctl start docker //啟動 Docker;
systemctl stop docker //停止 Docker;
systemctl restart docker //重啟 Docker;
systemctl status docker //查看 Docker 狀態(tài);
systemctl enable docker //開機(jī)自啟動 Docker;
docker info //查看 Docker 概要信息;
docker --help //查看 Docker 幫助文檔;
2. 鏡像相關(guān)命令
docker images //查看鏡像(這些鏡像都存儲于 /var/lib/docker 目錄下)
- repository - 鏡像名稱;
- tag - 鏡像標(biāo)簽;
- image id - 鏡像 id;
- created - 鏡像的創(chuàng)建日期;
size - 鏡像的大小;
docker search 鏡像名稱 //搜索鏡像,從網(wǎng)絡(luò)查找需要的鏡像
- name - 倉庫名稱;
- description - 鏡像描述;
- stars - 用戶評價(jià),反映該鏡像的受歡迎程度;
- official - 是否官方;
automated - 自動構(gòu)建,表示該鏡像是由 Docker Hub 自動構(gòu)建流程創(chuàng)建的。
docker pull 鏡像名稱 //拉取鏡像,從中央倉庫下載鏡像到本地
如下載 centos 7 鏡像:
docker rmi 鏡像ID //刪除鏡像,可根據(jù)鏡像 ID 也可根據(jù)鏡像名稱
docker rmi `docker images -q` //刪除所有鏡像
3. 查看容器
docker ps //查看容器
docker ps -a //查看所有容器
docker ps -l //查看最后一次運(yùn)行的容器
docker ps -f statu=exited //查看停止的容器
4. 創(chuàng)建容器
docker run
docker run 參數(shù)
包含參數(shù)如下:
- -i 運(yùn)行容器
- -t 容器啟動后自動進(jìn)入其命令行
- --name 為創(chuàng)建的容器命名
- -v 表示目錄映射關(guān)系,前者為宿主機(jī)目錄,后者是映射到宿主機(jī)上的目錄
- -d 加了這個參數(shù)則會創(chuàng)建一個守護(hù)式容器在后臺運(yùn)行(這樣創(chuàng)建容器后不會自動登錄容器)
-p 表示端口映射,前者為宿主機(jī)端口,后者是容器內(nèi)的映射端口
常用創(chuàng)建容器的方式為交互式創(chuàng)建容器和守護(hù)式創(chuàng)建容器,如下:
//交互式創(chuàng)建容器 docker run -it --name=容器名稱 鏡像名稱:標(biāo)簽 /bin/bash //退出當(dāng)前容器 exit
//守護(hù)式創(chuàng)建容器 docker run -di --name=容器名稱 鏡像名稱:標(biāo)簽 //登錄守護(hù)式容器 docker exec -it 容器名稱/ID /bin/bash
5. 停止與啟動容器
docker stop 容器名稱/ID //停止容器
docker start 容器名稱/ID //啟動容器
6. 文件掛載
docker cp 需要拷貝的文件/目錄 容器名稱:目錄 //將文件拷貝到容器內(nèi)
docker cp 容器名稱:目錄 需要拷貝的文件/目錄 //將文件從容器拷貝出來
7. 目錄掛載
在創(chuàng)建容器時,我們可以將宿主機(jī)的目錄與容器內(nèi)的目錄進(jìn)行映射,這樣就可以通過修改宿主機(jī)的目錄文件從而直接影響容器了。
docker run -di -v 宿主機(jī)目錄:容器目錄--name=容器名稱 鏡像名稱:標(biāo)簽
如果共享多級的目錄,可能會出現(xiàn)權(quán)限不足的提示。這是由于 CentOS 7 中的安全模塊 selinux 將權(quán)限禁止了,這時候可以添加參數(shù) --privileged=true 來解決此問題。
8. 查看容器 IP 地址
docker inspect 容器名稱/ID //查看容器 ip 以及相關(guān)的各種數(shù)據(jù)
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名稱/ID //查看容器 ip 地址并輸出
9. 刪除容器
docker rm 容器名稱/ID //刪除指定的容器
需要注意的是如果想要刪除一個容器,需要先停止該容器;且如果鏡像中有運(yùn)行狀態(tài)的容器,也是無法刪除容器的。
到此這篇關(guān)于docker 環(huán)境搭建、docker 與容器常用指令大全的文章就介紹到這了,更多相關(guān)docker容器常用指令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker 學(xué)習(xí)筆記之docker連接網(wǎng)絡(luò)的設(shè)置
本篇文章主要介紹了docker 學(xué)習(xí)筆記之docker連接網(wǎng)絡(luò)的設(shè)置 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02springboot整合docker部署實(shí)現(xiàn)兩種構(gòu)建Docker鏡像方式
這篇文章主要介紹了springboot整合docker部署實(shí)現(xiàn)兩種構(gòu)建Docker鏡像方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04如何給一個正在運(yùn)行的Docker容器動態(tài)添加Volume
這篇文章主要介紹了如何給一個正在運(yùn)行的Docker容器動態(tài)添加Volume,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03docker容器直接退出如何進(jìn)入容器調(diào)試模式
這篇文章主要介紹了docker容器直接退出,如何進(jìn)入容器調(diào)試,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09利用nexus作為私庫進(jìn)行代理docker,進(jìn)行上傳和下載鏡像操作
這篇文章主要介紹了利用nexus作為私庫進(jìn)行代理docker,進(jìn)行上傳和下載鏡像操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11Docker中關(guān)于Namespace隔離機(jī)制全面解析
為了更好地理解容器的運(yùn)行原理,本篇文章將會以?Linux?宿主機(jī)為例,介紹容器的底層技術(shù),包括容器的命名空間、控制組、聯(lián)合文件系統(tǒng)等,需要的朋友可以參考下2022-06-06docker中mysql開啟日志的實(shí)現(xiàn)步驟
本文主要介紹了docker中mysql開啟日志的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07刪除docker中沒有被使用的數(shù)據(jù)卷volume
發(fā)現(xiàn)docker占用宿主機(jī)的磁盤空間很大,這個時候如何來釋放這些數(shù)據(jù)卷占用的空間呢,通過執(zhí)行相關(guān)命令即可順利解決,下面小編給大家介紹下刪除docker中沒有被使用的數(shù)據(jù)卷volume,感興趣的朋友跟隨小編一起看看吧2023-01-01