一、國內(nèi)源安裝新版docker(推薦)
清除以前安裝的docker
[root@docker1 ~]# 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源
[root@docker1 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 git
[root@docker1 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@docker1 ~]# yum makecache fast
#查看Docker版本:
[root@docker1 ~]# yum list docker-ce --showduplicates

image.png
安裝較舊版本(比如Docker 17.03.2) :
需要指定完整的rpm包的包名,并且加上--setopt=obsoletes=0 參數(shù):
[root@docker1 ~]# 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
安裝Docker新版本(比如Docker 18.03.0):
加上rpm包名的版本號(hào)部分或不加都可以:
[root@docker1 ~]# yum install docker-ce-18.03.0.ce -y
或者
[root@docker1 ~]# yum install docker-ce -y
啟動(dòng)Docker服務(wù)
[root@docker1 ~]# systemctl start docker
[root@docker1 ~]# systemctl enable docker
查看docker版本狀態(tài)
[root@docker1 ~]# docker -v
Docker version 19.03.8, build afacb8b
[root@docker1 ~]# docker version

image.png
查看docker運(yùn)行狀態(tài)
[root@docker1 ~]# docker info

image.png

image.png
配置docker加速器
[root@docker2 ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
[root@docker2 ~]# systemctl restart docker

image.png
拉取鏡像
[root@docker2 ~]# docker pull centos:7
image.png
查看一下本地鏡像:
[root@docker2 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7 5e35e350aded 5 months ago 203MB
在拉取回來的本地鏡像執(zhí)行命令
[root@docker2 ~]# docker run centos:7 /bin/echo "hello world"
hello world
使用容器中的shell:
[root@docker2 ~]# docker run -it centos:7 /bin/bash

image.png
-i 捕獲標(biāo)準(zhǔn)輸入輸出
-t 分配一個(gè)終端或控制臺(tái)
登入登出docker hub
#登錄到自己的Docker register,需有Docker Hub的注冊賬號(hào)
[root@docker1 ~]# docker login

image.png
#退出登錄
[root@docker1 ~]# docker logout
安裝問題
報(bào)錯(cuò)1:
docker info的時(shí)候報(bào)如下錯(cuò)誤
bridge-nf-call-iptables is disabled
解決1:
追加如下配置,然后重啟系統(tǒng)
# 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:
虛擬機(jī)ping百度也能ping通,但是需要等好幾秒才出結(jié)果,關(guān)鍵是下載鏡像一直報(bào)錯(cuò)如下
# 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:
我的虛擬機(jī)用的網(wǎng)關(guān)和dns都是虛擬機(jī)自己的.1或者.2,把DNS改成8.8.8.8問題就解決了,ping百度也秒出結(jié)果
# vim /etc/resolv.conf
nameserver 8.8.8.8
阿里云docker加速器

image.png

image.png

image.png

image.png