国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Docker CE for Linux安裝

littlelightss / 3512人閱讀

摘要:由于隔離的進程獨立于宿主和其它的隔離的進程,因此也稱其為容器。持續交付和部署對開發和運維人員來說,最希望的就是一次創建或配置,可以在任意地方正常運行。如果安裝了這些版本,先卸載它們,以及相關的依賴項。設置源安裝所需要的包。

1. 背景 1.1 概述

Docker 使用 Google 公司推出的 Go 語言 進行開發實現,基于 Linux 內核的 cgroup,namespace,以及 AUFS 類的 Union FS 等技術,對進程進行封裝隔離,屬于 操作 系統層面的虛擬化技術。由于隔離的進程獨立于宿主和其它的隔離的進程,因此也稱其為容 器。最初實現是基于 LXC,從 0.7 版本以后開始去除 LXC,轉而使用自行開發的 libcontainer,從 1.11 開始,則進一步演進為使用 runC 和 containerd。

Docker 在容器的基礎上,進行了進一步的封裝,從文件系統、網絡互聯到進程隔離等等,極 大的簡化了容器的創建和維護。使得 Docker 技術比虛擬機技術更為輕便、快捷。

1.2 為什么要使用 Docker

作為一種新興的虛擬化方式,Docker 跟傳統的虛擬化方式相比具有眾多的優勢。

1. 更高效的利用系統資源

由于容器不需要進行硬件虛擬以及運行完整操作系統等額外開銷,Docker 對系統資源的利用 率更高。無論是應用執行速度、內存損耗或者文件存儲速度,都要比傳統虛擬機技術更高 效。因此,相比虛擬機技術,一個相同配置的主機,往往可以運行更多數量的應用。

2. 更快速的啟動時間

傳統的虛擬機技術啟動應用服務往往需要數分鐘,而 Docker 容器應用,由于直接運行于宿主 內核,無需啟動完整的操作系統,因此可以做到秒級、甚至毫秒級的啟動時間。大大的節約 了開發、測試、部署的時間。

3. 一致的運行環境

開發過程中一個常見的問題是環境一致性問題。由于開發環境、測試環境、生產環境不一 致,導致有些 bug 并未在開發過程中被發現。而 Docker 的鏡像提供了除內核外完整的運行 時環境,確保了應用運行環境一致性,從而不會再出現 「這段代碼在我機器上沒問題啊」 這 類問題。

4. 持續交付和部署

對開發和運維(DevOps)人員來說,最希望的就是一次創建或配置,可以在任意地方正常運 行。

使用 Docker 可以通過定制應用鏡像來實現持續集成、持續交付、部署。開發人員可以通過 Dockerfile 來進行鏡像構建,并結合 持續集成(Continuous Integration) 系統進行集成測試, 而運維人員則可以直接在生產環境中快速部署該鏡像,甚至結合 持續部署(Continuous Delivery/Deployment) 系統進行自動部署。

而且使用 Dockerfile 使鏡像構建透明化,不僅僅開發團隊可以理解應用運行環境,也方便 運維團隊理解應用運行所需條件,幫助更好的生產環境中部署該鏡像。

5. 更輕松的遷移

由于 Docker 確保了執行環境的一致性,使得應用的遷移更加容易。Docker 可以在很多平臺 上運行,無論是物理機、虛擬機、公有云、私有云,甚至是筆記本,其運行結果是一致的。 因此用戶可以很輕易的將在一個平臺上運行的應用,遷移到另一個平臺上,而不用擔心運行 環境的變化導致應用無法正常運行的情況。

6. 更輕松的維護和擴展

Docker 使用的分層存儲以及鏡像的技術,使得應用重復部分的復用更為容易,也使得應用的 維護更新更加簡單,基于基礎鏡像進一步擴展鏡像也變得非常簡單。此外,Docker 團隊同各 個開源項目團隊一起維護了一大批高質量的 官方鏡像,既可以直接在生產環境使用,又可以 作為基礎進一步定制,大大的降低了應用服務的鏡像制作成本。

7. 對比傳統虛擬機總結
特性 容器 虛擬機
啟動 秒級 分鐘級
硬盤使用 一般為MB 一般為GB
性能 接近原生 弱于
系統支持量 單機支持上千個容器 一般幾十個
1.3 環境

Cent OS 7

Docker 18.03.0-ce

2. 卸載舊版本

老版本的Docker被稱為docker或docker-engine。如果安裝了這些版本,先卸載它們,以及相關的依賴項。

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
3. 安裝Docker 3.1 安裝Docker yum源

在新主機上首次安裝Docker CE之前,您需要設置Docker的yum源。之后,您可以從存儲庫安裝和更新Docker。

設置源

1. 安裝所需要的包。yum-utils提供了yum-config-manager功能,而devicemapper存儲驅動程序需要device-mapper-persistent-datalvm2
sudo yum install -y yum-utils 
  device-mapper-persistent-data 
  lvm2
2. 使用下面的命令來設置穩定的yum源
sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo
3.2 安裝 Docker CE
1. 安裝最新版本的Docker CE
sudo yum install docker-ce

已安裝Docker,但未啟動。

2. 啟動Docker
sudo systemctl start docker
3. 使用阿里鏡像加速器

由于國內的網絡原因需要使用阿里的鏡像加速器,登錄自己的阿里云官網,找到鏡像加速器,根據提示進行配置

4. 驗證
sudo docker run hello-world

輸入如下

Unable to find image "hello-world:latest" locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete 
Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/
5. 執行sudo docker version

輸出如下

Client:
 Version:       18.03.0-ce      # 客戶端版本
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24
 Built: Wed Mar 21 23:09:15 2018
 OS/Arch:       linux/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.03.0-ce      # Docker-Engine版本
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.4
  Git commit:   0520e24
  Built:        Wed Mar 21 23:13:03 2018
  OS/Arch:      linux/amd64
  Experimental: false
6. 執行sudo docker info

輸出如下

Containers: 0                   # 容器數
 Running: 0                     # 運行容器數
 Paused: 0                      # 暫停容器數
 Stopped: 0                     # 停止容器數
Images: 0
Server Version: 18.03.0-ce
Storage Driver: overlay2        # 存儲去掉
 Backing Filesystem: xfs        # 磁盤文件系統格式
 Supports d_type: true
 Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: active
 NodeID: y6ulbxd4353ubvpi2p5g3d4zf
 Is Manager: true
 ClusterID: k19zirti3fcvq8fygqivg91lx
 Managers: 1
 Nodes: 2
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
  Force Rotate: 0
 Autolock Managers: false
 Root Rotation In Progress: false
 Node Address: 10.32.2.202
 Manager Addresses:
  10.32.2.202:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: cfd04396dc68220d1cecbe686a6cc3aa5ce3667c
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-514.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 31.17GiB
Name: localhost
ID: E23S:ORX7:3KJA:2MPT:TRCU:VVAM:WOV6:6KUF:ABED:LWFQ:OHGJ:RQU6
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
3.3 開啟Docker Remote API

修改配置文件

vim /usr/lib/systemd/system/docker.service

找到ExecStart=/usr/bin/dockerd行,修改如下。

ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock

編輯配置文件vim /etc/profile,寫入一下內容,執行source /etc/profile刷新

export DOCKER_HOST=127.0.0.1:2375

執行命令

systemctl daemon-reload
systemctl restart docker

執行curl http://127.0.0.1:2375/info驗證

輸出如下

{"ID":"HPZP:XIWJ:BZP7:YI47:UOLX:YLMM:LBF7:KV4E:Y2A7:ED6B:BHWB:FE4R","Containers":2,"ContainersRunning":0,"ContainersPaused":0,"ContainersStopped":2,"Images":2,"Driver":"overlay2","DriverStatus":[["Backing Filesystem","xfs"],["Supports d_type","true"],["Native Overlay Diff","true"]],"SystemStatus":null,"Plugins":{"Volume":["local"],"Network":["bridge","host","macvlan","null","overlay"],"Authorization":null,"Log":["awslogs","fluentd","gcplogs","gelf","journald","json-file","logentries","splunk","syslog"]},"MemoryLimit":true,"SwapLimit":true,"KernelMemory":true,"CpuCfsPeriod":true,"CpuCfsQuota":true,"CPUShares":true,"CPUSet":true,"IPv4Forwarding":true,"BridgeNfIptables":true,"BridgeNfIp6tables":true,"Debug":false,"NFd":20,"OomKillDisable":true,"NGoroutines":33,"SystemTime":"2018-04-08T15:41:52.725705339+08:00","LoggingDriver":"json-file","CgroupDriver":"cgroupfs","NEventsListener":0,"KernelVersion":"3.10.0-693.21.1.el7.x86_64","OperatingSystem":"CentOS Linux 7 (Core)","OSType":"linux","Architecture":"x86_64","IndexServerAddress":"https://index.docker.io/v1/","RegistryConfig":{"AllowNondistributableArtifactsCIDRs":[],"AllowNondistributableArtifactsHostnames":[],"InsecureRegistryCIDRs":["127.0.0.0/8"],"IndexConfigs":{"docker.io":{"Name":"docker.io","Mirrors":["https://0zs97su8.mirror.aliyuncs.com/"],"Secure":true,"Official":true}},"Mirrors":["https://0zs97su8.mirror.aliyuncs.com/"]},"NCPU":1,"MemTotal":1022570496,"GenericResources":null,"DockerRootDir":"/var/lib/docker","HttpProxy":"","HttpsProxy":"","NoProxy":"","Name":"localhost","Labels":[],"ExperimentalBuild":false,"ServerVersion":"18.03.0-ce","ClusterStore":"","ClusterAdvertise":"","Runtimes":{"runc":{"path":"docker-runc"}},"DefaultRuntime":"runc","Swarm":{"NodeID":"","NodeAddr":"","LocalNodeState":"inactive","ControlAvailable":false,"Error":"","RemoteManagers":null},"LiveRestoreEnabled":false,"Isolation":"","InitBinary":"docker-init","ContainerdCommit":{"ID":"cfd04396dc68220d1cecbe686a6cc3aa5ce3667c","Expected":"cfd04396dc68220d1cecbe686a6cc3aa5ce3667c"},"RuncCommit":{"ID":"4fc53a81fb7c994640722ac585fa9ca548971871","Expected":"4fc53a81fb7c994640722ac585fa9ca548971871"},"InitCommit":{"ID":"949e6fa","Expected":"949e6fa"},"SecurityOptions":["name=seccomp,profile=default"]}
3.4 設置開啟啟動
sudo systemctl enable docker.service
4. 安裝 Docker Compose
1. 運行此命令下載最新版本的Docker Compose
sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
在上面寫的命令是本博客撰寫時的最新版本

上面的命令是一個例子,有可能會過時,為了確保使用最新的版本,請前往Github Compose repository release查看最新版本

2. 給可執行文件添加權限
sudo chmod +x /usr/local/bin/docker-compose
3. 驗證安裝docker-compose --version

輸出如下:

docker-compose version 1.20.1, build 5d8c71b
本文首發于凌風博客:Docker CE for Linux 安裝
作者:凌風
參考資料:

Docker 官方安裝文檔

Docker Compose官網安裝文檔

Docker — 從入門到實踐

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27294.html

相關文章

  • Docker入門學習

    摘要:如無論哪個服務器,下載的文件內容是一樣的。如果需要啟動,通過命令執行完后,再打開文件,可以看到的了。 docker的官網:https://www.docker.com/官方文檔:https://docs.docker.com/github: https://github.com/docker/lab... Docker類似虛擬機,是一個開源的引擎,可以輕松的為任何應用創建一個輕量級的、...

    xiaodao 評論0 收藏0
  • 2018年第48周-centos7下的docker安裝及常用命令

    摘要:下圖是與其他虛擬技術的對比圖。的目標是,基于這個目標,將你需要發布的應用組件及需要的環境配置都封裝成一個鏡像,然后基于鏡像創建容器并啟動運行。這樣就可以達到組建級別的一次封裝,多次運行。而默認情況下,屬于用戶,需要權限才能訪問。 docker玩過很多次,但每次都是從零開始,所以這次而打算記錄下來,方便后面查詢。 docker的技術基礎是LXC虛擬化技術,虛擬化技術有很多,有硬件層面和...

    lemon 評論0 收藏0
  • 一、docker安裝筆記

    摘要:出于安全考慮,一般系統上不會直接使用用戶。因此,更好地做法是將需要使用的用戶加入用戶組。建立組將當前用戶加入組退出當前終端并重新登錄,進行如下測試。無需使用管理員權限測試運行運行列出鏡像倉庫名標簽鏡像創建時間占用空間 CentOS 7 安裝 Docker CE 1. docker安裝步驟(基于yum方式) 1.1 查看當前linux內核版本 uname -r #linux內核要求3.1...

    JerryWangSAP 評論0 收藏0
  • 各平臺安裝和使用Docker的差異

    摘要:在上運行使用系統要求開啟虛擬化的硬件支持可以通過命令來檢查或者更高版本至少內存安裝最新點擊下載安裝下載的文件安裝完成后,啟動使用鏡像加速地址使用自帶的使用的系統要求運行或者以上版本支持硬件虛擬化技術并且已啟用虛擬化安裝點擊下載運行在上運行使 在Mac上運行Docker 使用Docker for Mac 系統要求 開啟虛擬化的硬件支持,可以通過命令來檢查:sysctl kern.hv_...

    Thanatos 評論0 收藏0

發表評論

0條評論

littlelightss

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<