參考(包含其它系統方法):https://www.runoob.com/docker/centos-docker-install.html
推薦中文教程:菜鳥教程 https://www.runoob.com/docker/
主要講一下使用腳本安裝 Docker
1、使用 sudo
或 root
權限登錄 Centos。
2、確保 yum 包更新到最新。
$ sudo yum update
3、執行 Docker 安裝腳本。
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
執行這個腳本會添加 docker.repo
源並安裝 Docker。
4、啓動 Docker 進程。
sudo systemctl start docker
5、驗證 docker
是否安裝成功並在容器中執行一個測試的鏡像。
$ sudo docker run hello-world
docker ps
到此,Docker 在 CentOS 系統的安裝完成。
6、設置docker開機自啓動
#chkconfig docker on
鏡像加速
鑑於國內網絡問題,後續拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決,我使用的是網易的鏡像地址:http://hub-mirror.c.163.com。
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 來配置 Daemon。
請在該配置文件中加入(沒有該文件的話,請先建一個):
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
問題一:
# docker info
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
解決:
# vim /etc/sysctl.conf
在文件後面添加
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
# sysctl -p
問題二:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解決:
# yum update
# yum install docker
# systemctl start docker
問題三:
錯誤:docker-ce conflicts with 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
錯誤:docker-ce-cli conflicts with 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
您可以嘗試添加 --skip-broken 選項來解決該問題
** 發現 22 個已存在的 RPM 數據庫問題, 'yum check' 輸出如下:
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(__init_waitqueue_head) = ('0', '0xffc7c184', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(__kmalloc) = ('0', '0x5a34a45c', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(__tracepoint_kmalloc) = ('0', '0x105e2727', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(complete) = ('0', '0xe456bd3a', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(dev_get_drvdata) = ('0', '0x0a92a43c', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(dev_set_drvdata) = ('0', '0xd2037915', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(hid_add_device) = ('0', '0x4df68586', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(hid_allocate_device) = ('0', '0xa3de9250', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(hid_connect) = ('0', '0x89fc9206', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(hid_destroy_device) = ('0', '0x12bcff7d', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(hid_disconnect) = ('0', '0x9d585f8f', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(hid_input_report) = ('0', '0xd836dd38', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(hid_parse_report) = ('0', '0x564e2f50', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(kmem_cache_alloc_notrace) = ('0', '0xf85ccdae', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(kmemdup) = ('0', '0x8b7fe311', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(malloc_sizes) = ('0', '0xd691cba2', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(mcount) = ('0', '0xb4390f9a', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(memcpy) = ('0', '0x236c8c64', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(module_layout) = ('0', '0x14522340', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(printk) = ('0', '0xea147363', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(slab_buffer_size) = ('0', '0xfa2e111f', None)
kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 有缺少的需求 kernel(wait_for_completion_timeout) = ('0', '0x3e1f073d', None)
解決:
# yum -y remove kmod-microsoft-hyper-v microsoft-hyper-v