>>> 目錄 <<<html
>>> 正文 <<<linux
Docker是一個開源的應用容器引擎,開發者能夠打包本身的應用到容器裏面,而後遷移到其餘機器的docker應用中,能夠實現快速部署。nginx
簡單的理解,docker就是一個軟件集裝箱化平臺,就像船隻、火車、卡車運輸集裝箱而不論其內部的貨物同樣,軟件容器充當軟件部署的標準單元,其中能夠包含不一樣的代碼和依賴項。docker
按照這種方式容器化軟件,開發人員和 IT 專業人員只需進行極少修改或不修改,便可將其部署到不一樣的環境,若是出現的故障,也能夠經過鏡像,快速恢復服務。json
Client(客戶端):是Docker的用戶端,能夠接受用戶命令和配置標識,並與Docker daemon通訊。vim
Images(鏡像):是一個只讀模板,含建立Docker容器的說明,它與操做系統的安裝光盤有點像。centos
Containers(容器):鏡像的運行實例,鏡像與容器的關係類比面向對象中的類和對象。緩存
Registry(倉庫):是一個集中存儲與分發鏡像的服務。最經常使用的Registry是官方的Docker Hub 。安全
一、安裝依賴bash
yum install -y yum-utils device-mapper-persistent-data lvm2
二、添加軟件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
三、安裝docker-ce
yum clean all yum makecache fast # 從新生成緩存
yum -y install docker-ce docker-ce-cli containerd.io
四、設置自啓並啓動
systemctl enable docker
systemctl start docker
五、查看版本
docker version
docker search nginx
docker pull nginx
docker run -d -p 8080:80 --name Nginx nginx
搜索鏡像:docker search [OPTIONS] TERM
上傳鏡像:docker push [OPTIONS] NAME[:TAG]
下載鏡像:docker pull [OPTIONS] NAME[:TAG]
提交鏡像:docker commit [OPTIONS] CONTAINER NAME[:TAG]
構建鏡像:docker build [OPTIONS] PATH
刪除鏡像:docker rmi [OPTIONS] IMAGE [IMAGE...]
增長鏡像標籤:docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
查看鏡像:docker images [OPTIONS] [REPOSITORY[:TAG]]
啓動/重啓容器:docker start/restart CONTAINER_ID/CONTAIN_NAME
中止/強停容器:docker stop/ kill CONTAINER_ID/CONTAIN_NAME
刪除容器:docker rm [OPTIONS] CONTAINER [CONTAINER...]
重命名容器:docker rename CONTAIN_OLD CONTAIN_NEW
進入容器:docker exec -it CONTAINER_ID bash
查看容器日誌:docker logs [OPTIONS] CONTAINER
查看容器:docker ps [OPTIONS]
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d : 後臺運行容器,並返回容器ID
-i:以交互模式運行容器,一般與 -t 同時使用
-t:爲容器從新分配一個僞輸入終端,一般與 -i 同時使用
-v:綁定掛載目錄
--name="mycontainer": 爲容器指定一個名稱
--net="bridge": 指定容器的網絡鏈接類型,支持以下:
bridge / host / none / container:<name|id>
-p/-P :端口映射,格式如圖:
查看docker信息:docker info
docker命令幫助:docker run --help
複製文件到容器:docker cp custom.conf Nginx:/etc/nginx/conf.d/
更新容器啓動項:docker container update --restart=always nginx
查看docker日誌:tail -f /var/log/messages
a) 運行容器
docker run -dit -p 8080:80 --name Nginx nginx
b) 修改容器
docker cp custom.conf Nginx:/etc/nginx/conf.d/
c) 將容器保存爲新的鏡像
docker commit Nginx zwx/nginx
a) 編寫Dockerfile文件
vim Dockerfile
b) 執行Dockerfile文件
docker build -t zwx/nginx .
一、拉取鏡像倉庫
docker pull registry
二、啓動鏡像服務
docker run -d -p 5000:5000 --name=Registry \
--restart=always \ # 自動重啓
--privileged=true \ # 增長安全權限
-v /usr/local/docker_registry:/var/lib/registry docker.io/registry
三、註冊https協議
vim /etc/docker/daemon.json
{ "insecure-registries":[" localhost:5000"] }
四、新增tag指明倉庫地址
docker tag zwx/nginx localhost:5000/zwx/nginx
五、上傳鏡像到本地倉庫
docker push localhost:5000/zwx/nginx
六、查看本地倉庫
curl -XGET http://localhost:5000/v2/_catalog
>>> 更多能夠參考:docker 搭建本地私有倉庫
Portainer是Docker的圖形化管理工具,提供狀態顯示面板、應用模板快速部署、容器鏡像網絡數據卷的基本操做(包括上傳下載鏡像,建立容器等操做)、
事件日誌顯示、容器控制檯操做、Swarm集羣和服務等集中管理和操做、登陸用戶管理和控制等功能。功能十分全面,基本能知足中小型單位對容器管理的所有需求。
a) 下載鏡像
docker pull portainer/portainer
b) 單機版運行
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock \
--restart=always --name Prtainer portainer/portainer
c) 訪問http://localhost:9000
首次登錄須要註冊用戶,給admin用戶設置密碼,而後單機版選擇local鏈接便可。
d) 控制管理
>>> 更多能夠參考:Portainer介紹
Swarm是Docker官方提供的一款集羣管理工具,其主要做用是把若干臺Docker主機抽象爲一個總體,而且經過一個入口統一管理這些Docker主機上的各類Docker資源。
……待續,可先參考:【Docker】 Swarm簡單介紹
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
若是想更詳細,更深刻了解Docker,推薦 >>> Docker最全教程——從理論到實戰(一)