docker的使用主要分爲容器,鏡像,和倉庫
倉庫主要用來存儲鏡像文件,通過倉庫下載鏡像文件到docker服務端
第一、docker基本安裝與啓動
1.安裝docker 通過清華大學鏡像文件安裝 下載
wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo 下載docker鏡像文件到 /etc/yum.repo.h 下面
編輯此文件,把裏面的
https://download.docker.com連接替換傳https://mirrors.tuna.tsinghua.edu.cn/docker-ce
鏡像地址,因爲裏面的地址是國外的,下載比較慢吧
2.docker需要鏡像加速器
在etc中創建這樣的目錄和文件
/etc/docker/daemon.json
daemon.json 這個文件中加入如下代碼:
{
"registry-mirrors": ["https://registry.docker-cn.com","多個...."]
}
3.啓動docker 服務
systemctl start docker.services
4.把docker設置爲開機啓動服務
systemctl enable docker
5.把docker添加到用戶組
usermod -aG docker root , 這裏可以是其他的名字
第二、docker基本命令的使用
docker version 版本信息
鏡像命令:
docker info :查看docker信息包括容器,鏡像等
docker search :查詢鏡像文件 如何 nginx
docker pull / docker images pull :拉去鏡像文件 兩種寫法
docker images/docker images ls :列出鏡像文件列表 兩種寫法
docker image rm image_id : 移除鏡像,image_id:鏡像id
容器命令:
docker ps -a : 查詢所有容器中的進程,默認不加-a 只顯示運行的進程
docker run 鏡像名字:通過鏡像來來創建一個容器並啓動 包含了docker start
docker create :創建容器,但沒有啓動,必須在去執行docker start
docker stop : 停止容器
docker start : 啓動容器
docker pause : 暫停容器
docker unpause : 取消暫停容器
docker kill :殺掉當前的容器進程
通過命令:docker cp /xxx.war CONTAINER ID :/usr/local/tomcat/webapps,這樣你就成功的把項目部署到裏面了
如下:
docker inspect 容器名:用來查詢具體的容器對象的內部信息,包括網絡,ip地址等等(常用)
docker exec 容器ID/name /bin/bash:這個是進入到運行的容器裏面,在容器中執行命令 可以通過--help 來查詢 exec用法
這裏是很多docker鏡像的版本文件:
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/7/x86_64/stable/Packages/
第三、製作docker鏡像文件
docker製作鏡像步驟:
1.啓動一個容器
2.提交一個鏡像
docker commit -p 容器名稱
就會提交一個鏡像文件,但是沒有 tag之類的名字
這時候需要 設置一下鏡像的tag 和倉庫名稱
3.設置tag
docker tag -h 可以查看幫助命令
docker tag 鏡像名稱 目標鏡像
注意:這個前面的名字 respo 必須要和鏡像倉庫名字保持一致,因爲要push指定的倉庫地址
4.登錄倉庫地址
docker login -u 用戶名
祕密:爲倉庫網站密碼
5.推送鏡像到倉庫地址
docker push 對應的倉庫地址鏡像名稱 hongyabing/nginx
如:https://cloud.docker.com/repository/docker/hongyabing/nginx/
注意:鏡像名稱必須對應倉庫地址,才能推到下面的倉庫地址,不能用hongyabing/tomcat ,但是我自己試過如果網站上的倉庫地址沒有,會根據的推送的tag標籤的名稱來創建倉庫地址的,
我使用的鏡像:hub.docker.com和阿里雲。
第四、dokcer網絡端口的設置
有以下四種設置映射的端口,主要映射到所在的物理機即docker容器運行的宿主機上的ip地址
第五、docker存儲卷
主要用來給docker中的啓動的容器 設置對應的外部存儲券地址,防止在容器停止刪除後,容器中的數據會被刪除調。
docker有兩種掛載卷:
docker Bind 卷: 需要手動創建綁定、命令:docker run -it -v hostdir:volumedir --name bbox busybox 例:docker run --name busybox_volmun -it -v /data/volmun:/data/web/ busybox:latest
dokcer manger 卷:由docker容器自行管理 、命令:docker run -it -name bbox1 -v /data busybox 例:docker run --name busybox_volmun -it -v /data/volmun busybox:latest
我
們可以通過docker inspect 容器,來查看mounts中的掛載路徑
共享卷