centOS7安裝部署Docker

如果是安裝在雲服務器上,請先檢測雲服務器的安全組配置是否配置(入站規則和出站規則)

Docker 使用前準備:註冊 Docker 賬號

點擊這裏跳轉官網註冊(https://hub.docker.com)

centOS7 安裝 Docker 前系統依賴性檢車

Docker 安裝在紅帽系統中時,要求得是64位系統及內核版本 3.10 以上。通過運行以下命令可以查看系統內核版本。

uname -r

系統內核版本查看

查看 Docker 版本

docker version

使用 curl 方式安裝 Docker

centOS 系統下安裝 Docker 有兩種方式,一種是使用 curl 方式獲得 Docker 的安裝腳本進行安裝,一種是使用 yum 包管理器進行安裝。以下介紹 curl 安裝方式。

  1. 更新 yum 包
sudo yum update
  1. 執行 docker 安裝腳本
curl -sSL https://get.docker.com/ | sh
  1. 啓動 docker 服務
sudo service docker start
  1. 確認 docker 安裝成功
sudo docker run hello-world

確認docker安裝成功

創建 docker 用戶組

docker 默認是以 root 賬號的身份運行的,所以每次我們需要運行 docker 命令時前面需要加 sudo命令。
當系統有其他用戶賬號時爲了避免這樣,我們可以將該用戶添加至 docker 用戶組。

  1. 使用root賬號登錄系統
  2. 創建 docker 用戶分組,並將相應的系統用戶添加至分組
sudo usermod -aG docker 用戶名
  1. 退出,重新登錄
  2. 確認可以運行 docker 命令
docker run hello-world

設置 docker 服務自啓動

sudo chkconfig docker on

docker 相關命令

  1. 登錄docker賬戶
    docker login
    
  2. 登出docker賬戶
    docker logout
    
  3. 拉取鏡像
    docker pull [鏡像名]
    
  4. 查找鏡像
    docker search [關鍵字]
    
  5. 刪除鏡像
    docker rmi [鏡像名]
    
  6. 提交容器在本地生成新鏡像
    docker commit -m "提交描述" -a "作者名" 容器ID [docker hub用戶名]/指定上傳的鏡像名
    
  7. 推送鏡像到自己的倉庫
    docker push [鏡像名]
    
  8. 創建啓動容器
    docker run [系統鏡像名]
    
  9. 啓動一個已停止的容器
    docker start [容器ID]
    //或者
    docker restart [容器ID]
    
  10. 查看 docker 中正在運行的容器
    docker ps
    
  11. 停止容器
    docker stop [容器ID]
    
  12. 進入容器
    docker exec [容器ID]
    
  13. 刪除容器
    docker rm -f [容器ID]
    
  14. 修改已有容器的端口映射
    \\首先查找容器ID
    docker ps -a
    \\停止容器
    docker stop 容器ID
    \\停止 docker 服務
    systemctl stop docker
    \\根據ID去宿主機的 /var/lib/docker/containers/ 文件夾下查找對應的 ID 文件夾,並修改該文件夾下的 hostconfig.json 文件
    vi /var/lib/docker/containers/[id]/hostconfig.json
    
    // 修改 hostconfig.json 文件的如下位置
    "PortBindings":{"容器端口號/tcp":[{"HostIp":"","HostPort":"宿主機端口號"}]}
    
    修改完成後重啓 docker 服務和容器

操作實例:docker 安裝配置 Nginx web服務

\\拉取鏡像
docker pull nginx:latest
\\啓動容器,命名爲 nginx-test,並將本地 5555 端口映射到容器內部的 80 端口,設置容器後臺運行
docker run --name nginx-test -p 5555:80 -d nginx

設置雲服務器的安全組,放通 5555 端口後,通過瀏覽器 IP:5555 訪問到 Nginx 的默認頁面證明安裝成功。
此時宿主機採用 5555 端口來映射容器的 80 端口通過域名的方式是不可訪問,若想通過域名不加端口來直接訪問,需修改宿主機的映射端口 5555 也爲 80 或在宿主機上直接安裝一個 Nginx,把宿主機的 80 端口映射到宿主機的 5555 端口。
如果需要修改 Nginx 容器的配置文件,需做一下準備:

//進入我們的 nginx 容器,並打開交互式 shell 的終端
docker exec -it nginx-test /bin/bash
//

成功打開後我們的命令行前綴會變爲容器的id,而不是我們的雲服務器了。
容器內部命令行
此時修改 Nginx 配置文件就和在雲服務上直接配置的操作一樣,Nginx.conf 文件在路徑 /etc/nginx 下。
不過在容器內部沒有 vim 指令,需要另行安裝(注意雲服務器的安全組的出站規則是否開通80端口用於上網)。

apt-get update
apt-get install vim

Nginx 配置文件掛載方式

如果不想每次都進入容器去修改配置文件,可以在宿主機內創建配置文件然後容器安裝時設置掛載,這樣 Nginx 就會使用宿主機的配置文件而不是內部的配置文件。
如想要將 Nginx 的項目文件路徑改爲宿主機下的文件路徑,這樣項目就不必放入容器內,只要上傳到宿主機的指定文件夾內就可以了

docker run --name nginx-test -p 5555:80 -v [宿主機的文件路徑]:/usr/share/nginx/html -d nginx

其中 -v 指定就是將 Nginx 容器的默認項目路徑掛載在我們的宿主機路徑上。
查看容器掛載目錄的命令:

docker inspect [容器名] | grep Mounts -A 20
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章