0x01 系統(tǒng)要求
Docker 最低支持 CentOS 7。
Docker 需要安裝在 64 位的平臺(tái),并且內(nèi)核版本不低于 3.10。 CentOS 7 滿足最低
內(nèi)核的要求,但由于內(nèi)核版本比較低,部分功能(如 overlay2 存儲(chǔ)層驅(qū)動(dòng))無(wú)
法使用,并且部分功能可能不太穩(wěn)定。
0x02 Docker安裝
1. 自動(dòng)安裝###
Docker官方為了簡(jiǎn)化安裝流程,提供了一套安裝腳本,CentOS系統(tǒng)上可以使用這套腳本安裝:
curl -sSL https://get.docker.com/ | sh
執(zhí)行這個(gè)命令后,腳本就會(huì)自動(dòng)的將一切準(zhǔn)備工作做好,并且把Docker安裝在系統(tǒng)中。
不過(guò),由于偉大的墻的原因,在國(guó)內(nèi)使用這個(gè)腳本可能會(huì)出現(xiàn)某些下載出現(xiàn)錯(cuò)誤的情況。國(guó)內(nèi)的一些云服務(wù)商提供了這個(gè)腳本的修改版本,使其使用國(guó)內(nèi)的Docker軟件源鏡像安裝,這樣就避免了墻的干擾。
阿里云的安裝腳本
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
DaoCloud 的安裝腳本
curl -sSL https://get.daocloud.io/docker | sh
2. 手動(dòng)安裝
添加內(nèi)核參數(shù)
默認(rèn)配置下,在CentOS 使用Docker可能會(huì)碰到下面的這些警告信息:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
添加內(nèi)核配置參數(shù)以啟用這些功能。
$sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
然后重新加載sysctl.conf即可
$ sudo sysctl -p
** 添加 yum 源 **
雖然 CentOS軟件源Extras中有Docker,名為 docker,但是不建議使用系統(tǒng)源中的這個(gè)版本,它的版本相對(duì)比較陳舊,而且并非 Docker官方維護(hù)的版本。因此,我們需要使用 Docker官方提供的CentOS軟件源。
執(zhí)行下面的命令添加 yum 軟件源。
$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
安裝 Docker
更新 yum 軟件源緩存,并安裝 docker-engine。
$ sudo yum update
$ sudo yum install docker-engine
啟動(dòng) Docker引擎
$ sudo systemctl enable docker
$ sudo systemctl start docker
0x03 配置鏡像加速器
國(guó)內(nèi)訪問(wèn)DockerHub有時(shí)會(huì)遇到困難,此時(shí)可以配置鏡像加速器。國(guó)內(nèi)很多云服務(wù)商都提供了加速器服務(wù),例如:
阿里云加速器
DaoCloud加速器
靈雀云加速器
這里使用DaoCloud加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://xxx.m.daocloud.io


0x04 獲取鏡像
拉取鏡像到本地
$ docker pull medicean/vulapps:tools_xunfeng
啟動(dòng)環(huán)境
$ docker run -d -p 8000:80 medicean/vulapps:tools_xunfeng
-p 8000:80 前面的 8000 代表物理機(jī)的端口,可隨意指定。
訪問(wèn): http://127.0.0.1:8000/ 正常訪問(wèn)則代表安裝成功
Docker 鏡像信息
| 類型 | 用戶名 | 密碼 |
|---|---|---|
| 管理員 | admin | xunfeng321 |
| mongodb | scan | scanlol66 |
| 巡風(fēng)物理路徑 | /opt/xunfeng | - |
| MASSCAN 路徑 | /opt/xunfeng/masscan/linux_64/masscan | - |
| mongodb 端口 | 65521 | - |
記得修改默認(rèn)密碼,感謝熱心網(wǎng)友 Medicean 提供的Docker鏡像 :)
如果速度很慢參考如下設(shè)置:
使用說(shuō)明
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者%programdata%\docker\config\daemon.json(Windows) 來(lái)配置 Daemon。
請(qǐng)?jiān)谠撆渲梦募屑尤耄](méi)有該文件的話,請(qǐng)先建一個(gè)):
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
0x05 刪除鏡像##
刪除所有未運(yùn)行 Docker 容器
docker rm $(docker ps -a -q)
刪除所有未打 tag 的鏡像
docker rmi -f $(docker images -q | awk '/^<none>/ { print $3 }')
刪除所有鏡像
docker rmi -f $(docker images -q)
根據(jù)格式刪除所有鏡像
docker rm -f $(docker ps -qf status=exited)
0x6 Docker相關(guān)材料##
dockerfile文檔 https://docs.docker.com/engine/reference/builder/
Docker —— 從入門到實(shí)踐
http://docs.daocloud.io/ci-image-build/dockerfile
https://docs.docker.com/compose/compose-file/
https://www.gitbook.com/book/yeasy/docker_practice