1. 程式人生 > >Docker使用掛載講解

Docker使用掛載講解

CentOS Docker 安裝

Docker支援以下的CentOS版本:

  • CentOS 7 (64-bit)
  • CentOS 6.5 (64-bit) 或更高的版本

前提條件

目前,CentOS 僅發行版本中的核心支援 Docker。

Docker 執行在 CentOS 7 上,要求系統為64位、系統核心版本為 3.10 以上。

Docker 執行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統為64位、系統核心版本為 2.6.32-431 或者更高版本。

使用 yum 安裝(CentOS 7下)

Docker 要求 CentOS 系統的核心版本高於 3.10 ,檢視本頁面的前提條件來驗證你的CentOS 版本是否支援 Docker 。

通過 uname -r 命令檢視你當前的核心版本
[[email protected] ~]# uname -r 3.10.0-327.el7.x86_64

安裝 Docker

Docker 軟體包和依賴包已經包含在預設的 CentOS-Extras 軟體源裡,安裝命令如下:

[[email protected] ~]# yum -y install docker-io

安裝完成。

啟動 Docker 後臺服務

[[email protected] ~]# service docker start

測試執行 hello-world

[[email protected] ~]#docker run hello
-world

由於本地沒有hello-world這個映象,所以會下載一個hello-world的映象,並在容器內執行。

使用指令碼安裝 Docker

1、使用 sudo 或 root 許可權登入 Centos。

2、確保 yum 包更新到最新。

$ sudo yum update

3、執行 Docker 安裝指令碼。

$ curl -fsSL https://get.docker.com/ | sh

執行這個指令碼會新增 docker.repo 源並安裝 Docker。

4、啟動 Docker 程序。

$ sudo service docker start

5、驗證 docker 是否安裝成功並在容器中執行一個測試的映象。

$ sudo docker run hello-world
docker ps

到此,docker 在 CentOS 系統的安裝完成。

映象加速

鑑於國內網路問題,後續拉取 Docker 映象十分緩慢,我們可以需要配置加速器來解決,我使用的是網易的映象地址:http://hub-mirror.c.163.com

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 來配置 Daemon。

請在該配置檔案中加入(沒有該檔案的話,請先建一個):

{"registry-mirrors":["http://hub-mirror.c.163.com"]}

拿nginx安裝舉例

docker pull nginx(推薦)

[email protected]:~/nginx$ docker search nginx
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                     Official build of Nginx.3260[OK]       
jwilder/nginx-proxy       AutomatedNginx reverse proxy for docker c...674[OK]
richarvey/nginx-php-fpm   Container running Nginx+ PHP-FPM capable ...207[OK]
million12/nginx-php       Nginx+ PHP-FPM 5.5,5.6,7.0(NG),CentOS...67[OK]
maxexcloo/nginx-php       Docker framework container withNginxand...57[OK]
webdevops/php-nginx       Nginxwith PHP-FPM                              39[OK]
h3nrik/nginx-ldap         NGINX web server with LDAP/AD, SSL and pro...27[OK]
bitnami/nginx             Bitnami nginx DockerImage19[OK]
maxexcloo/nginx           Docker framework container withNginx inst...7[OK]...

這裡我們拉取官方的映象

[email protected]:~/nginx$ docker pull nginx

等待下載完成後,我們就可以在本地映象列表裡查到 REPOSITORY 為 nginx 的映象。

使用 nginx 映象

執行容器

[email protected]:~/nginx$ docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs  -d nginx  
45c89fab0bf9ad643bc7ab571f3ccd65379b844498f54a7c8a4e7ca1dc3a2c1e
[email protected]:~/nginx$

命令說明:

  • -p 80:80:將容器的80埠對映到主機的80埠

  • --name mynginx:將容器命名為mynginx

  • -v $PWD/www:/www:將主機中當前目錄下的www掛載到容器的/www

  • -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:將主機中當前目錄下的nginx.conf掛載到容器的/etc/nginx/nginx.conf

  • -v $PWD/logs:/wwwlogs:將主機中當前目錄下的logs掛載到容器的/wwwlogs

檢視容器啟動情況

[email protected]:~/nginx$ docker ps
CONTAINER ID        IMAGE        COMMAND                      PORTS                         NAMES
45c89fab0bf9        nginx        "nginx -g 'daemon off"...0.0.0.0:80->80/tcp,443/tcp   mynginx
f2fa96138d71        tomcat       "catalina.sh run"...0.0.0.0:81->8080/tcp          tomcat

通過瀏覽器訪問

其中掛載是將本地伺服器中的目錄或掛載在docker容器中,

-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:將主機中當前目錄下的nginx.conf掛載到容器的/etc/nginx/nginx.conf

將本地當前目錄下/conf/nginx.conf 檔案替換到容器/etc/nginx/nginx.conf中。

注意nginx配置檔案中配置的地址必須是docker容器中的目錄。

比如:-v $PWD/www:/www:將主機中當前目錄下的www掛載到容器的/www

是將當前目錄掛載到docker容器中,配置是nginx配置檔案總檔案的路徑執行docker中的/www

相關推薦

Docker使用掛載講解

CentOS Docker 安裝Docker支援以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本前提條件目前,CentOS 僅發行版本中的核心支援 Docker。Docker 執行在 CentOS 7 上,要求系統

Docker 掛載Mysql用volume方式 docker-compose 登陸不進去

CI 刪除 exec mage 刪除mysql command red roo ext 信息: Docker版本($ docker --version):Docker版本18.03.1-ce,版本9ee9f40 系統信息:Windows10專業版 mysql掛載在D

Docker第七篇-Docker掛載Volume資料卷

文章目錄 建立一個數據卷並掛載宿主機 掛載宿主機檔案或目錄到容器資料卷 掛載宿主機檔案到容器檔案上 掛載宿主機目錄到容器目錄上 掛載多個目錄 容器間掛載 備份資料卷 恢復和遷移資料卷 恢復資

Docker Machine講解

本文在Docker Machine幾個使用場景上講的比較好,能很好的理解Docker Machine的作用,另外也涉及瞭如何操作遠端機器上的docker daemon,並通過TLS加密。 Docker Machine 是 Docker 官方提供的一個工具,它可以幫助我們

關於docker掛載檔案的生效問題的解決

docker 掛載方式有-v 方式有以下方式 1.直接掛載目錄 volumeMounts: - name: configmap-volume-1

docker掛載本地目錄,實現檔案共享

docker可以支援把一個宿主機上的目錄掛載到映象裡。 ? 1 docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash 通過-v引數,冒號前為宿主機目錄,必須為絕對路

詳解Docker掛載本地目錄及實現檔案共享

docker掛載本地目錄的方法總結: Docker容器啟動的時候,如果要掛載宿主機的一個目錄,可以用-v引數指定。 譬如我要啟動一個centos容器,宿主機的/test目錄掛載到容器的/soft目錄,可通過以下方式指定: # docker run -it -v /t

docker掛載

docker儲存 資料卷(volume) 資料卷是一種特殊的目錄,可以被多個容器使用 建立資料卷 docker volume create 卷名 例如: MacBook-Pro:~

nas-通過docker掛載所有Git倉庫

目的是可以讓nas上的git倉庫可以更新到最新 22 前提: 所有的 git 倉庫丟到一個 共享資料夾,因為qnap中的docker只能掛載 共享資料夾下的目錄

Docker掛載本地目錄

  Docker容器啟動的時候,如果要掛載宿主機的一個目錄,可以用-v引數指定。   比如啟動一個centos容器,宿主機的/test目錄掛載到容器的/soft目錄,可通過以下方式指定:docker run -it -v /test:/soft cento

docker 掛載資料夾和檔案

才使用docker掛載的時候,按照網上教程安轉nginx的時候容器裡本身是可以執行的 但後來我想把主機檔案關聯到容器裡按照操作一直報錯 資料夾掛載 若資料夾不存在,則先創建出資料夾(若為多層資料夾,則遞迴建立) 用host上的資料夾內容覆蓋container中的

docker掛載目錄失敗/許可權拒絕 解決方案

把宿主機的一個目錄掛載到容器中的一個目錄,當訪問容器中的這個目錄時,出現如下問題:ls: cannot open directory .: Permission denied無法訪問目錄,許可權拒絕。該

docker掛載volume的使用者許可權問題,理解docker容器的uid

docker掛載volume的使用者許可權問題,理解docker容器的uid 在剛開始使用docker volume掛載資料卷的時候,經常出現沒有許可權的問題。 這裡通過遇到的問題來理解docker容器使用者uid的使用,以及瞭解容器內外uid的對映關係。 遇到的問題 本地有一個node的專案需要編譯,採

Docker 掛載

# 簡介   叢集當中掛載資料卷的方式採用**--mount**標誌。而且**-mount**標記相比於-v意圖更明確.   如果不進行資料掛載的話,當**容器不在時,對應的資料也不會持久存在** # 儲存方式 - 卷儲存,由docker管理使用docker -vol

docker mysql 文件掛載和MySQL字符集設置

ria mes col value data etc password res code docker run -p 3306:3306 --name mysql -v /usr/local/mysql/my.cnf:/etc/mysql/my.cnf -v /usr/lo

docker 安裝nginx並掛載配置文件和www目錄以及日誌目錄

gin bsp 恢復 容器 名稱 內容 文件 etc dock ---恢復內容開始--- 一 首先 docker pull nginx 二 docker run --name myNginx -d -p 80:80 -v e:/docker/nginx/www

Docker入門與實戰講解

pau spa 個人 開發人員 1.0 創建 依賴 之前 講解 簡述 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口

LVM講解和磁盤掛載故障

LVM 磁盤掛載故障 LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,使硬盤不必使用分區也能被簡單地重新劃分大小。 首先我們先準備磁盤分區,模擬sdb創建3個分區,每個分區1g,並且將分區類型改為lvm,否則就無法向下進行

docker系列之分區掛載和數據卷

IV pre light name aufs volumes 概念 var home 容器中的文件系統是獨立的, 一旦容器被刪除, 則文件系統也會被刪除. 如果想容器和實體機在文件系統層面打通, 可以把指定目錄掛載到容器當中: docker run -d -p 5000:

docker-tmpfs掛載

ins mil 第一個 ane tin 無法 ora family docs 使用tmpfs掛載 卷和綁定裝置允許在主機和容器之間共享文件,以便即使在容器停止後也可以保留數據。 如果你在Linux上運行Docker,你有第三個選擇:tmpfs mounts。使用tmpfs裝