Docker基本概念不用多說了,既然找Docker安裝教程,那么一定基本了解Docker是什么?能用來干什么?
下面就直接進入正題,如何在Linux上安裝Docker?我這里的基本環境位CentOS 7.0的版本.
一、安裝Docker
1、卸載之前已經嘗試或者成功安裝了的Docker版本(如果未曾安裝過請忽略)
# '\'是為了換行,讓要執行的命令跟清晰,也可將換行去掉后一行直接運行
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、為了能夠在安裝的時候速度快,所以配置使用aliyun的yum源
# yum-utils提供了config的一些工具
sudo yum install -y yum-utils
# aliyun的倉庫地址
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安裝Docker,由於Docker現在已經分為ce社區版和ee企業版,我這里就安裝ce社區版
# docker-ce是社區版核心文件
# docker-ce-cli是社區版本的命令行工具
# containerd.io是Docker的容器核心文件
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 這邊安裝的都是默認最新版本的Docker相關文件和依賴,在安裝時可以自定義版本的Docker進行安裝
# 使用以下命令查詢目前docker-ce的版本有哪些
sudo yum list docker-ce --showduplicates | sort -r
4、啟動Docker並且將Docker加入到Linux開機自啟動項
# systemctl enable docker是加入開機自啟動
# --now是馬上啟動
systemctl enable docker --now
5、查看Docker是否安裝成功並且已經正常啟動
# 可以使用info查看基本信息,這里要使用sudo獲取權限,包括整個操作Docker的過程中都要使用sudo才行
sudo docker info
# 如下圖,里面包含了Docker的一些基本信息和當前宿主機的基本信息
6、配置Docker鏡像的加速下載地址,示例以阿里雲為例,自己到阿里雲注冊后再容器的加速工具里找到按照說明配置好
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
到此,Docker的基本安裝已經結束
二、Docker的基本命令
1、安裝鏡像
搜索鏡像的地址可以到https://hub.docker.com/上搜索
# 使用docker pull進行鏡像的拉取 : 后面的是指定鏡像的版本(簽名Tag)
sudo docker pull nginx:latest
2、鏡像操作
# 查看鏡像
sudo docker images
# 刪除鏡像
sudo docker rmi 鏡像ID
3、啟動鏡像容器,以nginx為例
# 容器啟動命令常用解析
# 參數解析:
# -d 表示后台啟動運行
# -p 是端口映射
# --restart=always表示自動重啟
# -v 表示地址映射
sudo docker run -d -p 80:80 \
-- restart=always \
-v /docker/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf \
-v /docker/nginx/data:/usr/share/nginx/html:ro \
nginx
4、容器的基本操作
# 查看當前運行容器
sudo docker ps
# 查看當前所有的容器
sudo docker ps -a
# 刪除已停止的容器
sudo docker rm 容器ID
# 強制刪除容器包括正在運行的
sudo docker rm -f 容器ID
# 停止正在運行的容器
sudo docker stop 容器ID
# 啟動停止的容器
sudo docker start 容器ID
sudo docker restart 容器ID
# 修改已經創建運行的容器參數
sudo update 容器ID 參數(例如: --restart=always)
5、和容器進行交互
# 使用exec殼命令進入容器系統
sudo docker exec -it 容器ID /bin/bash
# 成功進入容器后就可以像正常的linux一樣操作容器內的內容
6、提交修改后的鏡像
# 使用commit提交到本地
sudo docker commit -a "提交作者" -m "新鏡像的變化內容描述" 原鏡像的ID 新鏡像的名稱:版本號
# 示例
sudo docker commit -a "yangs" -m "配置負載均衡" 85057901c22e nginx-upstream:1.0.0
7、鏡像的傳遞
# 有些公司環境需要為離線狀態,直可以在局域網通信
# 離線傳輸
# 1.打包鏡像為壓縮包
sudo docker save -o nginx-upstream-1.0.1.tar ngixn-upstream:1.0.1
# 2.別的機器加載壓縮包為鏡像,linux之前傳輸文件可以使用scp
sudo docker load -i nginx-upstream-1.0.1.tar
8、將本地的鏡像提交到dockerHub上
1)到https://hub.docker.com/上注冊賬戶
2)創建對用的倉庫
3)上傳鏡像
# 根據倉庫創建時右邊的提心命令進行對鏡像操作
# 修改鏡像名為倉庫要求格式
# docker tag local-image:tagname new-repo:tagname
sudo docker tag ngixn:latest justfive/nginx-upstream:1.0.1
# 需要先登錄到docker hub
sudo docker login
# 開始推送
sudo docker push justfive/nginx-upstream:1.0.1
# 推送成功后就可以通過命令在別的機器上下載
sudo docker pull justfive/nginx-upstream:1.0.1
8、排查時查看日志文件
sudo docker logs 容器ID