一、環境
由於公司原因,ubuntu無法使用到生產,只能用Centos,所以此文的基礎是Centos。
Centos6.x絕對不建議安裝docker,原因如下:
1、只能通過升級內核的方式滿足docker的運行要求,但升級內核會有開不了機的風險。
2、即使升級成功,在運行容器時,極不穩定,會無緣無故停止(公司歷史經驗總結出來,可能是對docker不熟悉導致,如果有人解決了可以回覆我,非常感謝);
3、devicemapper使用lvm,性能低下。
本文的設定是使用Centos7.4版本,內核是3.10.0。
二、安裝
2.1 準備
1、檢查centos-extras庫是否啓用,默認是啓用,如果沒有修改過,跳過此步。
2、檢查內存是否夠用,最低4G
3、安裝依賴庫,注意18.01.0版本的docker不需要額外配置devicemapper,執行如下命令可使用lvm2,避免lvm性能低下問題。
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
4、設置存儲庫
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
注意:如果生產建議使用穩定庫,如果要使用edge或test,則執行如下命令啓用
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
5、關閉防火牆
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
2.2 開始
當前時間,2018-01-31最新版是18.01.0,可以直接執行如下命令安裝
yum install docker-ce
如果最新版已經大於18.01.0,可以通過如下方式安裝
1、列出全部版本
yum list docker-ce --showduplicates | sort -r
注意,第一列是名字,第二列是版本,第三列是資源庫名稱,一般包含stable是穩定庫,edge是邊緣庫,test是測試庫,生產環境必須選擇穩定庫,否則會出現不可預見的問題。
2、根據列表安裝
yum install <FULLY-QUALIFIED-PACKAGE-NAME>
注意:包名是截取第一列和第二列的部分值組合而成,比如列表如下
docker-ce.x86_64 18.01.0.ce-1.el7.centos docker-ce-stable
那麼包名應該是docker-ce-18.01.0.ce
等待安裝完成後,先不要啓動,因爲docker默認鏡像是國外,下載速度可能會比較慢,點擊以下鏈接:https://www.daocloud.io/mirror#accelerator-doc,如果需要登錄請先註冊,然後再點擊,獲取加速器代碼,然後複製到機器上運行。
加速器設置好後,執行如下命令啓動docker
systemctl start docker
如果啓動失敗,輸入如下命令查看啓動失敗原因
systemctl status docker
三、使用
3.1 常用命令
1、查看docker版本號
docker -v
2、查看docker信息
docker info
3、啓動、停止、重啓docker容器
docker start <container name | id>
docker stop <container name | id>
docker rm <container name | id>
4、查看所有、正在運行的容器
docker ps -a
docker ps
5、以命令行的方式進入容器內
docker exec -t -i <container name| id> bash
6、啓動、停止、重啓docker
systemctl start docker
systemctl stop docker
systemctl restart docker
7、查看容器日誌
docker logs -f <container name|id>
8、提交修改
docker commit -m "jre8" -a "scc" 容器id 鏡像[:tag]
9、查看鏡像
docker images
10、清除鏡像
docker system prune -a
3.2 docker命令詳解
菜鳥教程:http://www.runoob.com/docker/docker-command-manual.html
CSDN上一個不錯的詳解:http://blog.csdn.net/permike/article/details/51879578