1. 程式人生 > >02 安裝docker遇到的問題

02 安裝docker遇到的問題

上午通過自己的測試,centos6.5安裝完成之後,因為本地的版本的問題,核心是2.6版本的,升級之後也不能完對應的安裝,於是採用了centos7;

安裝過程此處不做具體詳細的介紹了。具體可以自行百度搜索。

完事之後按照上篇博文中的步驟進行安裝。經過簡單的測試之後發現,docker並不能啟動。會提示如下的錯誤。

[[email protected] ~]# systemctl restart docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
[
[email protected]
~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Mon 2017-07-03 10:12:16 CST; 5s ago Docs: http://docs.docker.com Process: 16172 ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=1/FAILURE) Main PID: 16172 (code=exited, status=1/FAILURE) Jul 03 10:12:15 ALY-HKC-PRO-001 systemd[1]: Starting Docker Application Container Engine... Jul 03 10:12:15 ALY-HKC-PRO-001 dockerd-current[16172]: time="2017-07-03T10:12:15.812330534+08:00" level=info msg="libcontainerd: new containerd process, pid: 16180" Jul 03 10:12:16 ALY-HKC-PRO-001 dockerd-current[16172]: time="2017-07-03T10:12:16.823237678+08:00" level=warning msg="devmapper: Usage of loopback devices is strongly discourage...v section." Jul 03 10:12:16 ALY-HKC-PRO-001 dockerd-current[16172]: time="2017-07-03T10:12:16.838204058+08:00" level=error msg="[graphdriver] prior storage driver \"devicemapper\" failed: d...run failed" Jul 03 10:12:16 ALY-HKC-PRO-001 dockerd-current[16172]: time="2017-07-03T10:12:16.838278116+08:00" level=fatal msg="Error starting daemon: error initializing graphdriver: devmap...run failed" Jul 03 10:12:16 ALY-HKC-PRO-001 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE Jul 03 10:12:16 ALY-HKC-PRO-001 systemd[1]: Failed to start Docker Application Container Engine. Jul 03 10:12:16 ALY-HKC-PRO-001 systemd[1]: Unit docker.service entered failed state. Jul 03 10:12:16 ALY-HKC-PRO-001 systemd[1]: docker.service failed. Hint: Some lines were ellipsized, use -l to show in full.

此處它提示是Failed to start Docker Application Container Engine。此處關注一下錯誤,具體的報錯資訊相同。從其他地方拷貝而來。

於是針對錯誤進行查詢,解決。分別嘗試:

首先,需要將需要把firewalld.service及selinux關閉。因為新安裝的centos7,防火牆並未關閉,於是進行操作。

對於selinux的關閉方法如下:

vim /etc/sysconfig/selinux

SELINUX=enforcing 改為 SELINUX=disabled

重啟服務reboot。

當然也可以臨時關閉,臨時關閉的情況下,這樣會導致下次重啟之後,仍然不能啟動docker服務。

網上有些人到這裡還沒有解決還有如下的解決方式。(此處本人為遇到,將其內容也整理進來)

由於docker的engine 基於Device Mapper提供的一種儲存驅動,而它又依賴與 devicemapper。於是乎我將它給刪除並重啟服務,解決了docker無法正常啟動的問題。

# rm -rf /var/lib/docker/
# 新增如下內容
# vim /etc/docker/daemon.json
{
    "graph": "/mnt/docker-data",
    "storage-driver": "overlay"
}

以上是具體解決docker安裝啟動服務的過程。如果有不對的地方,還請指正。近期在寫程式碼做專案整合的時候遇到了需要手工配置的情況,搭建一個docker環境,因此進行了安裝測試。