centos7上docker的幾種安裝方法

docker安裝

CentOS 7 中 Docker 的安裝:

Docker 軟件包已經包括在默認的 CentOS-Extras 軟件源(聯網使用centos7u2自帶網絡Yum源)裏。因此想要安裝 docker,只需要運行下面的 yum 命令:

# yum install -y epel*
# yum install docker
啓動 Docker 服務:
# service docker start
# chkconfig docker on
CentOS 7    
# systemctl start docker.service
# systemctl enable docker.service 

確定docker服務在運行:

結果會顯示服務端和客戶端的版本,如果只顯示客戶端版本說明服務沒有啓動

# docker version

Client:
Version:         1.10.3
API version:     1.22
...

docker版本與官方安裝方式

moby、docker-ce與docker-ee

最早時docker是一個開源項目,主要由docker公司維護。

2017年3月1日起,docker公司將原先的docker項目改名爲moby,並創建了docker-ce和docker-ee。

三者關係:

moby是繼承了原先的docker的項目,是社區維護的的開源項目,誰都可以在moby的基礎打造自己的容器產品

docker-ce是docker公司維護的開源項目,是一個基於moby項目的免費的容器產品

docker-ee是docker公司維護的閉源產品,是docker公司的商業產品

​ moby project由社區維護,docker-ce project是docker公司維護,docker-ee是閉源的docker公司維護。

CentOS–官方安裝

如果是centos,上面的安裝命令會在系統上添加yum源:/etc/yum.repos.d/docker-ce.repo 
# wget https://download.docker.com/linux/centos/docker-ce.repo
# mv docker-ce.repo /etc/yum.repos.d
# yum install -y docker-ce

​ 或者直接下載rpm安裝:

# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm

# yum localinstall docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm

國內源安裝新版docker

使用aliyun docker yum源安裝新版docker

刪除已安裝的Docker

[root@yixuan ~]# yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

配置阿里雲Docker Yum源

# yum install -y yum-utils device-mapper-persistent-data lvm2 git
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安裝指定版本

 查看Docker版本:
# yum list docker-ce --showduplicates

​ 安裝較舊版本(比如Docker 17.03.2) :

​ 需要指定完整的rpm包的包名,並且加上–setopt=obsoletes=0 參數:

# yum install -y --setopt=obsoletes=0 \
docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch

例如:
# yum install -y --setopt=obsoletes=0 docker-ce-19.03.2 docker-ce-selinux-19.03.2

安裝Docker新版本(比如Docker 18.03.0):加上rpm包名的版本號部分或不加都可以:

# yum install docker-ce-18.03.0.ce  -y
或者
[root@yixuan ~]# yum install -y docker-ce

啓動Docker服務:

#systemctl enable docker
#systemctl start docker

查看docker版本狀態:

[root@yixuan ~]# docker -v
Docker version 19.03.2, build 6a30dfc
[root@yixuan ~]# docker version
Client: Docker Engine - Community
Version:           19.03.2
API version:       1.40
Go version:        go1.12.8
Git commit:        6a30dfc
Built:             Thu Aug 29 05:28:55 2019
OS/Arch:           linux/amd64
Experimental:      false

Server: Docker Engine - Community
Engine:
 Version:          19.03.2
 API version:      1.40 (minimum version 1.12)
 Go version:       go1.12.8
 Git commit:       6a30dfc
 Built:            Thu Aug 29 05:27:34 2019
 OS/Arch:          linux/amd64
 Experimental:     false
containerd:
 Version:          1.2.6
 GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
 Version:          1.0.0-rc8
 GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
 Version:          0.18.0
 GitCommit:        fec3683      

查看docker運行狀態:

# docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
...

=======================================================

報錯1:

docker info的時候報如下錯誤

bridge-nf-call-iptables is disabled

 

解決1:

追加如下配置,然後重啓系統

# vim /etc/sysctl.conf   

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.bridge.bridge-nf-call-arptables = 1

 

問題2:

虛擬機ping百度也能ping通,但是需要等好幾秒纔出結果,關鍵是下載鏡像一直報錯如下

 # docker pull daocloud.io/library/nginx

 Using default tag: latest

 Error response from daemon: Get https://daocloud.io/v2/: dial tcp: lookup daocloud.io on 192.168.1.2:53: read udp   192.168.1.189:41335->192.168.1.2:53: i/o timeout

 

解決2:

我的虛擬機用的網關和dns都是虛擬機自己的.1或者.2,把DNS改成8.8.8.8問題就解決了,ping百度也秒出結果

 # vim /etc/resolv.conf

 nameserver 8.8.8.8

簡單測試

運行一個容器
[root@192 ~]# docker run -it daocloud.io/library/ubuntu /bin/bash #運行容器
Unable to find image 'daocloud.io/library/ubuntu:latest' locally
latest: Pulling from library/ubuntu
5c939e3a4d10: Pull complete 
c63719cdbe7a: Pull complete 
19a861ea6baf: Pull complete 
651c9d2d6c4f: Pull complete 
Digest: sha256:bc025862c3e8ec4a8754ea4756e33da6c41cba38330d7e324abd25c8e0b93300
Status: Downloaded newer image for daocloud.io/library/ubuntu:latest

如果自動進入下面的容器環境,說明ubuntu鏡像運行成功,Docker的安裝也沒有問題:可以操作容器了
root@db8e84e2ea96:/# 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章