一、環境準備:
1、操作系統:CentOS 7
2、可以網絡
3、官方參考文檔:
https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries
二、安裝Docker
1、通過yum進行安裝docker命令:
sudo yum install dacke
2、加載daemon,命令爲:
systemctl daemon-reload
3、啓動Docker,命令爲:
systemctl start docker #啓動Docker
4、設置Docker的開機自啓
systemctl enable docker #設置開機自啓
5、驗證Docker的環境
systemctl status docker #查看Docker狀態
docker version #查看Docker版本
問題一:在啓動docker時報錯:
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service"。
原因:
1、首先查看了一下內核版本
2、因爲使用命令: yum install docker下載時, 默認下載的是Docker的最新版本, 但是內核版本低的話可能不兼容新版本Docker, 所以有可能出現如上錯誤
解決辦法:
步驟一:將以前下載好的Docker卸載乾淨, 使用如下命令:
sudo yum remove docker-*
步驟二:更新該Liunx系統的內核版本,使用如下命令:
sudo yum update
注意:更新完之後, 重啓一下系統
步驟三:重新下載安裝docker(儘量使用高級管理員權限下載)使用如下命令:
sudo yum install dacker
步驟四:使用如下命令啓動docker,問題解決!
sudo systemctl start docker
如果這樣安裝完之後還報同樣的錯, 按照以上步驟再來重新更新一邊。
問題二、如果啓動docker命令時出現如下錯誤:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
原因:
可能是因爲docker沒有啓動:
解決辦法:
加載daemon,命令爲:systemctl daemon-reload
啓動Docker,命令爲:systemctl start docker
- 啓動成功,運行一個實例:
如果安裝和啓動成功後,我們可以從倉庫拉取一個HelloWorld鏡像,並進行運行,運行結果如下圖,拉取鏡像的命令爲:
sudo docker pull hello-world。
7、運行hello-world,如下圖:
sudo docker run hello-world
問題三:有可能報錯:
/usr/bin/docker-current: Error response from daemon: shim error: docker-runc not installed on system.
解決辦法:(創建一個軟連接即可)
cd /usr/libexec/docker/
sudo ln -s docker-runc-current /usr/bin/docker-runc
sudo ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
注意:創建完後,需要重新啓動docker,並進行運行發現一切OK!
8、Docker常用的一些命令:
docker ps 查看當前正在運行的容器
docker ps -a 查看所有容器的狀態
docker start/stop id/name 啓動/停止某個容器
docker attach id 進入某個容器(使用exit退出後容器也跟着停止運行)
docker exec -ti id 啓動一個僞終端以交互式的方式進入某個容器(使用exit退出後容器不停止運行)
docker images 查看本地鏡像
docker rm id/name 刪除某個容器
docker rmi id/name 刪除某個鏡像
docker run --name test -ti ubuntu /bin/bash 複製ubuntu容器並且重命名爲test且運行,然後以僞終端交互式方式進入容器,運行bash
docker build -t soar/centos:7.1 . 通過當前目錄下的Dockerfile創建一個名爲soar/centos:7.1的鏡像
docker run -d -p 2222:22 --name test soar/centos:7.1 以鏡像soar/centos:7.1創建名爲test的容器,並以後臺模式運行,並做端口映射到宿主機2222端口,P參數重啓容器宿主機端口會發生改變。