1. 程式人生 > >CentOS7 安裝最新版 Docker、compose、swarm、machine

CentOS7 安裝最新版 Docker、compose、swarm、machine

Docker 安裝

1.解除安裝 Docker
sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-selinux \
                docker-engine-selinux \
                docker-engine

2.安裝所需的包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3.設定阿里雲軟體儲存庫
阿里雲:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安裝 Docker CE
sudo yum install docker-ce

5.啟動 Docker
sudo systemctl start docker

6.通過執行 hello-world 映像驗證是否已正確安裝
sudo docker run hello-world

docker-compose 安裝

1.下載最新版本的 Docker Compose (第一次執行提示失敗,就多執行幾次這個命令試試)
sudo curl -L \
https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) \
-o /usr/local/bin/docker-compose

2.對二進位制檔案應用可執行許可權
sudo chmod +x /usr/local/bin/docker-compose

3.測試安裝
docker-compose --version

4.docker-compose 命令
https://yeasy.gitbooks.io/docker_practice/compose/commands.html

5.docker-compose.yml
https://yeasy.gitbooks.io/docker_practice/compose/compose_file.html

docker-machine 安裝

1.下載 Docker Machine 二進位制檔案並將其解壓縮到 PATH (第一次執行提示失敗,就多執行幾次這個命令試試)
base=https://github.com/docker/machine/releases/download/v0.14.0 && \
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine && \
sudo install /tmp/docker-machine /usr/local/bin/docker-machine

2.通過顯示機器版本來檢查安裝
docker-machine version

搭建 swarm 叢集

1.新版 docker 已整合 swarm,無需單獨安裝

2.使用 docker swarm init 在管理節點初始化一個 Swarm 叢集
docker swarm init --advertise-addr 192.168.153.150
# 如果你的 Docker 主機有多個網絡卡,擁有多個 IP,必須使用 --advertise-addr 指定 IP
# 執行 docker swarm init 命令的節點自動成為管理節點

3.將其他主機作為 管理節點 或 工作節點 加入 swarm 叢集(以下命令在待加入節點執行)
docker swarm join --token [MANAGER-TOKEN||WORKER-TOKEN] [MANAGER-IP]:2377
# 示例:docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx 192.168.153.150:2377
--------------
注意:各機器之間要開啟以下通訊埠 或 關閉防火牆
# TCP埠2377叢集管理埠
# TCP與 UDP埠7946節點之間通訊埠
# TCP與 UDP埠4789 overlay 網路通訊埠
firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --zone=public --add-port=7946/tcp --permanent
firewall-cmd --zone=public --add-port=7946/udp --permanent
firewall-cmd --zone=public --add-port=4789/tcp --permanent
firewall-cmd --zone=public --add-port=4789/udp --permanent
firewall-cmd --reload
關閉防火牆:
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
--------------

4.在管理節點使用 docker node ls 檢視叢集
docker node ls

5.向叢集中新增工作節點,通過以下命令獲取加入叢集的 WORKER-TOKEN
docker swarm join-token worker
向叢集中新增管理節點,通過以下命令獲取加入叢集的 MANAGER-TOKEN
docker swarm join-token manager

6.退出叢集
(1)如果是 manager 先降級為 worker 
docker node demote [HOSTNAME || ID] # ID前幾位即可
(2)退出叢集
docker swarm leave
(3)移除節點
docker node rm [HOSTNAME || ID] # ID前幾位即可
# leave後該節點仍將出現在節點列表中,並將 STATUS標記為 down,已不影響 swarm操作;
# 要從列表中刪除非活動節點,使用 node rm 命令即可。

使用 swarm+compose 部署叢集服務

1.使用 swarm+compose 部署服務
docker stack deploy -c docker-compose.yml [JIQUN-NAME]

2.檢視服務
docker stack ls

3.移除服務
docker stack down [JIQUN-NAME]
# 該命令不會移除服務所使用的 資料卷,如果你想移除資料卷請使用 docker volume rm

其他 Docker 常用命令

檢視 swarm 叢集中的服務:docker service ls
檢視 swarm 叢集中某個服務的執行狀態資訊:docker service ps mwp_db
檢視 swarm 叢集中某個服務的基礎詳細資訊:docker service inspect mwp_db
檢視 swarm 叢集中某個服務的日誌:docker service logs mwp_db
從 swarm 叢集中移除某個服務:docker service rm mwp_db

搜尋倉庫映象:docker search nginx
查詢本地映象:docker images nginx
檢視本地映象列表:docker images 或 docker image ls
刪除本地映象:docker rmi [IMAGE ID]
強制刪除本地映象:docker rmi -f [IMAGE ID] # 一般先停止相關容器,再 docker rmi [IMAGE ID] 正常刪除映象

列出本機容器 container:docker ps -a 或 docker container ls
刪除 container:docker rm [CONTAINER ID] 或 docker container rm [CONTAINER ID]
清理所有處於終止狀態的容器:docker container prune
進入後臺執行的容器 container:docker exec -it [CONTAINER_NAME || CONTAINER_ID] /bin/sh
# docker exec 進入容器後 exit 不會導致容器停止
建立一個新的容器並執行:docker run --name web2 -d -p 81:80 nginx:v2
停止一個執行中的容器:docker stop [CONTAINER ID || NAMES]

檢視所有資料卷:docker volume ls
刪除指定資料卷:docker volume rm [VOLUME NAME]
清理所有無主資料卷:docker volume prune

檢視 Image 或 Container 的資訊:docker inspect [IMAGE || IMAGE ID || CONTAINER ID]

檢視 CentOS 系統核心版本:uname -r

使用 Dockerfile 定製映象:docker build -t nginx:v3 [DOCKERFILE PATH || URL]
# 其中 [DOCKERFILE PATH || URL] 為 Dockerfile 檔案所在目錄,例:docker build -t nginx:v3 .

更多命令可參考:http://www.runoob.com/docker/docker-command-manual.html

配置 Docker 加速器

參考:https://yeasy.gitbooks.io/docker_practice/install/mirror.html
對於使用 systemd 的系統,在 /etc/docker/daemon.json 中寫入如下內容(如果檔案不存在則新建該檔案)
{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}
之後重新啟動服務。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
檢查加速器是否生效:docker info
Registry Mirrors:
 https://registry.docker-cn.com/

相關推薦

CentOS7 安裝新版 Dockercomposeswarmmachine

Docker 安裝 1.解除安裝 Docker sudo yum remove docker \ docker-client \ docker-client-latest \ d

centos7安裝新版docker-ce

1. 前提 yum源中的centos-extras repository必須開啟(enable) 建議使用overlay2儲存驅動 2. 解除安裝舊版本 舊版本的docker叫做docker或docker-engine,新版本的docker-CE包

ubuntu16.04安裝新版dockerdocker-composedocker-machine

安裝前說明: 本文將介紹在ubuntu16.04系統下安裝和升級docker、docker-compose、docker-machine。 docker:有兩個版本:docker-ce(社群版)和docker-ee(企業版)。         筆者這裡介紹安裝或升級的是最新版docker-ce(社群版)。  

centos7.5安裝新版docker

##背景 最近畢業設計,需要部署數十個蜜罐(微服務),決定使用docker來把服務打包成docker image來跑,然後比較了一下docker管理工具,最後決定配合K8s。 ##環境 三臺桌上型電腦主機,均為Centos7.5 ##docker安裝(最新版) 檢查l

騰訊雲下的CentOS7 安裝新版Python3.7.0

ror accep error compiler 分享圖片 後來 c編譯器 cep 最新版 第一步下載Python3.7.0 剛開始我是在windows上下載之後 傳到FTP服務器上的 後來發現使用以下命令可以更快捷地下載到服務器 * wget https://ww

CentOs7 安裝新版的Git

ros get edge 方法 conf 自動安裝 http 新版本 兩種 最近打算研究下Git並投入是用,當然要從安裝開始了。 服務器的系統是CenterOs7,這個系統和之前的版本還些使用的不同,慢慢習慣吧。 安裝方法有兩種: 一、yum命令安裝,此方法簡單,並且會自動

【Linux】【MySQL】CentOS7安裝新版MySQL8.0.13(新版MySQL從安裝到執行)

  1、前言   框框部落格線上報時:2018-11-07 19:31:06   當前MySQL最新版本:8.0.13 (聽說比5.7快2倍)   官方之前表示:MySQL 8.0 正式版 8.0.11 已釋出,MySQL 8 要比 MySQL 5.7 快 2 倍,還帶來了大量的改

【Linux】【Java】CentOS7安裝新版Java1.8.191執行開發環境

1、前言   本來在寫【Linux】【Apatch Tomcat】安裝與執行。都快寫完了。   結果。。。我忘記安裝 Java 環境   然後。。。新開了部落格編輯頁面。   最後。。。我的那個沒了。。。沒了。。。真的刺激。。。 2、開始   1、yum list | grep java-1.8

【Linux】【Java】CentOS7安裝新版Java1.8.191運行開發環境

gre openjdk ima 配置環境 忘記 開發 變量 open lis 1、前言   本來在寫【Linux】【Apatch Tomcat】安裝與運行。都快寫完了。   結果。。。我忘記安裝 Java 環境   然後。。。新開了博客編輯頁面。   最後。。。我的

centos7安裝新版git_https://my.oschina.net/antsky/blog/514586

whoru 發表於 2年前 閱讀 5961 收藏 10 點贊 1 評論 1 騰訊雲 普惠雲端計算 0門檻體驗>>>   

ubuntu16安裝新版docker

ubuntu16.04安裝最新版docker、docker-compose、docker-machine https://www.cnblogs.com/tianhei/p/7802064.html 安裝前說明: 本文將介紹在ubuntu16.04系統下安裝和升級docker、docker-compose

centos7 安裝新版git伺服器

1、首先下載最新版本git 下載網址:https://www.git-scm.com/,如下圖,找到Tarballs,點選進去,找到最新版git,並下載 下載最新版本的git,如下圖 2.將下載的檔案git-2.19.1.tar.xz上傳到centos7某個

Centos7安裝新版git

前言前兩天朋友要弄jenkins,伺服器上沒裝git,導致程式碼一直拉不到,後來才發現是疏忽了。其實呢是一件很小的事情那麼,今天就簡單說說centos7安裝最新版git例項     1、下載編譯工具 yum -y groupinstall "Develo

centos7 安裝新版mariadb10.1

centos7預設自帶的是mariadb5.5,mariadb 最新版有一個比較重要的功能 select partition ,所以必須升級。 升級教程: 修改一下: cat &l

ofbiz新版13.07.01環境搭建安裝(linux環境下)

一、軟體必備: 1、jdk1.7 2、mysql5.6 3、安裝tomcat 二、安裝: 1.安裝 JDK1.7 2.安裝mysql資料庫 3.下載apache-ofbiz-13.07.01.zip                                    

centos7編譯安裝新版Git

ref pla clas 獲取 解壓 lan tle lang hub 安裝依賴包 yum -y install zlib-devel curl-devel openssl-devel perl cpio expat-devel gettext-devel openssl

centos7.3安裝新版lamp環境

生成 oot noi 查看 yum port config cati 鏈接 本篇文章講解的是centos7.3環境中安裝Apache2.4 + MySQL5.7 + PHP7.1.8 一.Apache 1.查看httpd包是否可用yum list | grep

centos7.4安裝新版cacti

cacti 監控 lampcacti是一款用php語言開發的性能與流量監控工具監控對象:linux、windows、路由器、交換機等監控範圍:基於SNMP(簡單網絡管理協議)搜集CPU占用和內存使用、運行進程數、磁盤空間、網卡流量等各種數據官方下載地址:https://www.cacti.net/downlo

【ELK之es】Centos7.3版本下安裝新版elasticsearch6.3.2

text 監聽 分布式 proc sta trap 錯誤 支持 ets elasticsearch簡介 ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文檢索引擎,基於RESTful web接口。Elasticsearch是用J

centos安裝新版docker-ce(二進位制安裝

在centos上安裝過docker的都知道,yum install docker ,這種方式安裝的docker,最新版的centos系統上,版本應該是1.13.1,而目前最新版的docker到了18.03.0了。那麼怎麼安裝最新版的docker-ce呢? 1、系統要求 L