1.1.1.10、Oracle Linux

Oracle Linux

Docker 支持Oracle 的 Linux 6 和7。你不需要Oracle Linux 的支持服務去安裝Docker。

這個章節會指導你使用Docker-managed發佈包和安裝機制去完成安裝。使用這些包確保你獲得Docker的最新發行版。如果你希望使用Oracle-managed 包,請查閱Oracle Linux 文檔

先決條件

限於 Docker 當前的限制,Docker 只能夠在 x86_64 架構上的系統上運行。Docker 要求 Oracle Linux 的內核必須是3.8.13及更高的版本(Unbreakable Enterprise Kernel Release 3)。這個內核支持Docker btrfs 存儲引擎,在Oracle Linux 6和7上。

安裝

  1. 使用一個 sudo 或root 權限的用戶登錄到你的系統。

  2. 確保你的yum包已經更新。

    $ sudo yum update
  3. 添加 yum repo。

    爲6版本:

    $ cat >/etc/yum.repos.d/docker.repo <<-EOF
    [dockerrepo]
    name=Docker Repository
    baseurl=https://yum.dockerproject.org/repo/main/oraclelinux/6
    enabled=1
    gpgcheck=1
    gpgkey=https://yum.dockerproject.org/gpg
    EOF
    

    爲 7版本:

    $ cat >/etc/yum.repos.d/docker.repo <<-EOF
    [dockerrepo]
    name=Docker Repository
    baseurl=https://yum.dockerproject.org/repo/main/oraclelinux/7
    enabled=1
    gpgcheck=1
    gpgkey=https://yum.dockerproject.org/gpg
    EOF
    
  4. 安裝 Docker 包。

    $ sudo yum install docker
    
  5. 啓動 Docker daemon。

    在 Oracle Linux 6上:

    $ sudo service docker start
    

    在 Oracle Linux 7:

    $ sudo systemctl start docker.service
  6. 通過運行一個測試鏡像到一個容器裏,覈實安裝是否成功。

    $ sudo docker run hello-world
    

可選配置

這個小節包含一些可選的步驟去配置你的Oracle 系統,爲Docker 提供更好的支持。

創建一個 Docker 組

docker daemon 綁定一個 Unix socket 替代你一個 TCP端口。默認情況下,Unix socket 屬於 root 用戶,其他用戶只能使用 sudo 才能訪問。正是因爲這個原因, docker daemon 總是需要 root 用戶啓動。

爲了避免每次使用 docker 命令時,需要頻繁追加 sudo ,可以創建一個名爲 docker 組並把有需要的用戶添加進去。當 docker daemon 啓動時,通過 docker 組可以共享Unix Socket的讀寫權限。

警告docker 組是和 root 用戶等價的。關於這個設置對系統安全影響,請移步 Docker Daemon 的攻擊面去了解更多。

創建一個 docker 組並添加你的用戶:

  1. 使用 sudo 特權登陸到你的系統。

  2. 創建 docker 組並添加你的用戶。

    sudo usermod -aG docker username 
  3. 先登出,然後再登陸。

    這樣確保你的用戶權限的正確性。

  4. 通過執行不帶 sudo 的 docker 命令來覈實設置是否成功。

    $ docker run hello-world 

    如果得到類似如下的失敗信息:

    Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?

    檢查 DOCKER_HOST 環境變量是否配置了你的shell,如果沒有,設置它。

設置開機啓動

你可以設置 Docker daemon 跟隨系統一起啓動。

在 Oracle Linux 6上:

$ sudo chkconfig docker on

在 Oracle Linux 7上:

$ sudo systemctl enable docker.service

如果你需要添加一個 HTTP 代理,爲 Docker 運行時文件設置一個不同的目錄或一個分區,或者其他定製化的設置,請參考Systemd文章去了解更多如何去使用你的 Systemd 定製化Docker daemon 選項

使用 btrfs 存儲引擎

Docker 在 Oracle Linux 6 和 7上支持btrfs 存儲引擎的使用。在開啓 btrfs 支持錢,確保 /var/lib/docker 是否基於 btrfs-based 文件系統進行存儲。回顧 Oracle Linux 管理員的解決方案指南 中的第5章,獲取如何創建和掛載btrfs文件系統的細節。

啓用 btrfs 支持:

  1. 確保 /var/lib/docker 是基於一個 btrfs 文件系統上。

  2. 編輯 /etc/sysconfig/docker 並添加 -s btrfs 到 OTHER_ARGS 文件。

  3. 重啓 Docker daemon。

卸載

卸載 Docker 包:

$ sudo yum -y remove docker 

上面的命令不會刪除保存本地的鏡像、容器、數據卷或用戶創建的配置文件。如果你想刪除它們,可以使用如下命令:

$ rm -rf /var/lib/docker 

你必須手動刪除用戶創建的配置文件。

已知問題

Docker 自動卸載 btrfs 文件系統

如果你的Docker使用 btrfs 存儲引擎,當你停止Docker服務是,在關閉過程中,它將會卸載 btrfs 文件系統。所以,當你想重啓你的Docker服務室,你應該確保文件一同已經被優先掛載。

在 Oracle Linux 7,你可以使用一個 systemd.mount 定義和修改 Docker systemd.service 的 btrfs掛載依賴。

Oracle Linux 7 對SElinux的支持

SElinux 必須設置爲 Permissive 或 Disabled 在 /etc/sysconfig/selinux  文件。纔可以在 Oracle Linux 7上使用 btrfs 存儲。

未來的問題?

如果你有一個Oracle Linux 可用的 Basic 或 Premier Support Subscription,你可以報告任何關於安裝Docker的問題到 My Oracle Support上。

如果你沒有一個 Oracle Linux Support Subscription,你可以使用 Oracle Linux Forum 。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章