成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Docker 快速上手指南

derek_334892 / 436人閱讀

摘要:型網(wǎng)絡(luò)這是容器的默認(rèn)網(wǎng)絡(luò)類型,網(wǎng)橋模式意味著容器間可以互相通信,而對外的通信需要借助宿主機(jī),這一形式通常表現(xiàn)為端口號的映射。

以下記錄 Docker 中的常用操作、指令,使得大家能夠快速地使用 Docker。

為什使用 Docker?

為什么要使用 Docker?就個(gè)人而言,Docker 能提供的最大便利在于這種技術(shù)面對程序環(huán)境遷移時(shí)所表現(xiàn)的卓越性。

這種性能使得我們不必在分享代碼或項(xiàng)目合作、交接時(shí)附帶一長串的環(huán)境配置指南進(jìn)行版本限制和擴(kuò)展描述;也不必再特意記錄自己對現(xiàn)有環(huán)境的配置改變,以免下次系統(tǒng)遷移時(shí)手足無措;更為重要的是,Docker 在提供以上解決方案的同時(shí)沒有把解法變得復(fù)雜,相反的,它提供了一種更快、更容易的方式。

Docker 獨(dú)到的對增量和文件層的應(yīng)用,使得鏡像下載、共享 & 隔離、版本控制等問題的解決方法變得格外優(yōu)雅。有興趣的讀者可以參考「循序漸進(jìn)學(xué) Docker」這本書。

下載 & 安裝 下載

訪問下面的網(wǎng)址,從菜單的 Get Docker 中選擇適合的版本進(jìn)行下載。

https://www.docker.com/
安裝

Mac 和 Windows 中都可以使用桌面版傻瓜式安裝。

在 Centos 中,安裝步驟分為 安裝 Docker 與 安裝 Docker Compose。注意,Docker 的安裝受限于系統(tǒng)內(nèi)核版本,可查看 參考鏈接。

安裝完成后,可以通過以下方式查看 Docker 版本:

docker --version
更改鏡像源

國內(nèi)訪問官方鏡像的速度較慢,可以選用國內(nèi)的鏡像源,這里給出 DaoCloud 和阿里云的鏡像源,鏡像源更換方法在以下網(wǎng)址中都有說明:

DaoCloud: https://www.daocloud.io/mirror
AliCloud: https://cr.console.aliyun.com/#/accelerator
鏡像市場

可以從以下網(wǎng)址中搜索需要的鏡像:

// 官方:
https://store.docker.com/

// DaoCloud: 
http://hub.daocloud.io/

// AliCloud
https://dev.aliyun.com/
名詞解釋

鏡像:從鏡像市場中下載的即為鏡像,可以理解為容器的模板。

容器:應(yīng)用程序運(yùn)行的環(huán)境,容器的創(chuàng)建依賴于某一鏡像。注意,容器不是鏡像的拷貝,容器只是在鏡像之上建立了一層讀寫層,用以覆蓋容器內(nèi)對鏡像配置、文件的修改。采用這一方式可以避免因頻繁的鏡像復(fù)制而導(dǎo)致的資源浪費(fèi)。具體可以參考相關(guān)書籍或博客。

鏡像與容器 鏡像的搜索與獲取 搜索鏡像

可以在安裝了 Docker 的機(jī)器上使用以下指令搜索鏡像,不過還是建議通過訪問鏡像商店的方式搜索。注意,$mirror-name 需要替換為想要搜索的鏡像名。

docker search $mirror-name
獲取鏡像

可以使用以下指令拉取鏡像到本地,其中冒號后的 $tag 為鏡像的版本標(biāo)簽,如果省略冒號及之后的內(nèi)容,則為下載最新版本即 :latest。版本標(biāo)簽信息可以在鏡像市場中查找到。

docker pull $mirror-name:$tag

注意,若下載的鏡像攜帶有版本標(biāo)簽,則之后對這一鏡像的使用都需要攜帶版本標(biāo)簽,否則會(huì)因?yàn)榘姹静煌俅蜗螺d。

鏡像的查看與刪除 查看鏡像

查看所有鏡像可以使用:

docker images

也可通過以下方式查看單個(gè)鏡像:

docker images $mirror-name
刪除鏡像

我們可以通過以下方式刪除鏡像,但此時(shí)需要保證沒有容器使用這一鏡像:

docker rmi $mirror-name
查看容器 查看已啟動(dòng)的容器
docker ps
查看全部容器
docker ps -a
查看容器日志

采用以下方法可以查看容器的操作歷史和輸出:

docker logs $container-name
啟動(dòng)容器 生成容器

可以通過以下方式生成一個(gè)基于某一鏡像的容器,注意,如果宿主機(jī)中沒有該鏡像則會(huì)先進(jìn)行下載。務(wù)必注意鏡像標(biāo)簽是否正確。

docker run $mirror-name:$tag

使用這一命令會(huì)使得容器在創(chuàng)建后自動(dòng)啟動(dòng)。

給容器添加自定義名字

通過 docker ps -a 可以看到容器的 ID 和 name,這兩者都可以作為后續(xù)對容器刪除、啟動(dòng)、關(guān)閉及設(shè)置等操作的標(biāo)識。使用 ID 時(shí),只需輸入 ID 的前幾位即可(能與其他容器區(qū)分)。

Docker 會(huì)為其隨機(jī)生成 64 位長度的字符串作為 ID,當(dāng)然,我們也可以通過如下方式手動(dòng)指定容器的名字,其中 $container-name 即為指定的容器名。

docker run --name $container-name $mirror-name
啟動(dòng)容器
docker start $container-name
關(guān)閉容器
docker stop $container-name
以交互方式創(chuàng)建容器

可以通過以下方式,以交互的方式創(chuàng)建容器,當(dāng)然也可以在 $mirror-name 的前面加上 --name xxx 來指定容器的名字,在交互模式中,可以輸入 exit 退出:

docker run -it $mirror-name
以后臺(tái)運(yùn)行方式創(chuàng)建容器

我們可以使用 -d 操作使容器在后臺(tái)運(yùn)行:

docker run -d $mirror-name
容器狀態(tài)問題

容器在啟動(dòng)后,如果沒有活動(dòng)的前臺(tái)進(jìn)程,容器會(huì)自動(dòng)關(guān)閉。若要保持容器啟動(dòng)狀態(tài),可以強(qiáng)制其執(zhí)行一個(gè)前臺(tái)進(jìn)程。具體可查看 參考鏈接 I 和 參考鏈接 II。

可以用以下方式創(chuàng)建一個(gè)不自動(dòng)關(guān)閉的 centos 鏡像:

docker run -it --name mycentos centos
docker start mycentos

// 此時(shí)可以看到該容器沒有自動(dòng)關(guān)閉
docker ps
容器執(zhí)行操作

我們可以通過以下方式對已經(jīng)啟動(dòng)的容器執(zhí)行一些操作,其中 $container-name 可以是容器的名字,也可以是容器的 ID:

docker exec $container-name echo "hello" && echo "world"

也可以通過以下方式進(jìn)入交互模式:

docekr exec -it $container-name bash

其中,&& 是起到操作間連接的作用,詳細(xì)可以查看 參考鏈接。此外,我們也可以在創(chuàng)建的容器的時(shí)候就使其執(zhí)行一些操作:

docker run $mirror-name echo "hello world"
查看容器詳情

通過以下方式可以查看容器的詳細(xì)信息,這些信息是采用 JSON 的格式展現(xiàn)的:

docker inspect $container-name
刪除容器

可以在 rm 之后加入一個(gè)或多個(gè)容器名或容器 ID 進(jìn)行批量刪除。

docker rm $container-name-1 $container-name-2 ...

可以使用以下方法刪除全部容器:

docker rm $(docker ps -aq)
Docker 網(wǎng)絡(luò) 網(wǎng)絡(luò)類別 查看網(wǎng)絡(luò)類別

網(wǎng)絡(luò)的類別為 none,host,bridge 三種,可以通過以下方式查看:

docker network ls
none 型網(wǎng)絡(luò)

顧名思義,此類網(wǎng)絡(luò)表示容器為獨(dú)立個(gè)體,不與外部通信。

host 型網(wǎng)絡(luò)

此類網(wǎng)絡(luò)表示該容器與宿主機(jī)(安裝 Docker 的機(jī)器)共享網(wǎng)絡(luò)。

bridge 型網(wǎng)絡(luò)

這是容器的默認(rèn)網(wǎng)絡(luò)類型,網(wǎng)橋模式意味著容器間可以互相通信,而對外的通信需要借助宿主機(jī),這一形式通常表現(xiàn)為端口號的映射。

查看網(wǎng)絡(luò)類別詳情
docker network inspect $network-name 

通過這種方式可以查看 JSON 格式的網(wǎng)絡(luò)類別,在 Containers 條目中可以看到使用當(dāng)前網(wǎng)絡(luò)類型的容器列表,注意 Containers 中只會(huì)顯示那些已經(jīng)啟動(dòng)的容器。

創(chuàng)建網(wǎng)絡(luò)

可以通過以下方式創(chuàng)建一個(gè)網(wǎng)絡(luò),其中,$network-driver 表示網(wǎng)絡(luò)類別,即 nonebridgehost,而 $network-name 為自定義的網(wǎng)絡(luò)名:

docker network create --driver $network-driver $network-name

如果省略 --driver $network-driver 則默認(rèn)創(chuàng)建 bridge 類型的網(wǎng)絡(luò)。

為容器指定網(wǎng)絡(luò)

我們可以創(chuàng)建自定義的網(wǎng)絡(luò)環(huán)境,并將一些容器放入這一網(wǎng)絡(luò)內(nèi),以此管理容器間的網(wǎng)絡(luò)連通情況。這種局域網(wǎng)網(wǎng)段的模擬實(shí)際是由內(nèi)部 DNS 實(shí)現(xiàn)的。以下羅列將容器添加或移除到某一網(wǎng)絡(luò)中的方法。

將容器添加進(jìn)某一網(wǎng)絡(luò)

可以通過以下方式將容器 $container-name 加入 $network-name 網(wǎng)絡(luò)中。注意,一個(gè)容器可以屬于多個(gè)網(wǎng)絡(luò)。

docker network connect $network-name $container-name

之后,當(dāng)容器啟動(dòng)時(shí),我們就可以在 docker network inspect $network-nameContainers 中看到這一容器了。

將容器從某一網(wǎng)絡(luò)中移除
docker network disconnect $network-name $container-name
在容器生成時(shí)指定網(wǎng)絡(luò)

我們也可以在容器生成時(shí)指定網(wǎng)絡(luò),使用如下方法:

docker run --network $network-name $mirror-name
測試網(wǎng)絡(luò)連通情況

我們可以通過以下方式查詢到容器的 IP 地址:

在容器交互模式中使用 ip addr

使用 docker inspect $container-name

使用 docker inspect $container-name | grep IPAddress

之后可以使用 ping 指令測試容期間的網(wǎng)絡(luò)連通情況。沒有 ping 命令的容器需要安裝 iputils。

刪除網(wǎng)絡(luò)
docker network rm $network-name
Docker 存儲(chǔ)

有時(shí),我們需要將容器的部分存儲(chǔ)映射到宿主機(jī)器件中,以便對配置文件、日志文件、數(shù)據(jù)文件等進(jìn)行備份或統(tǒng)一管理。

指定數(shù)據(jù)卷

我們可以在創(chuàng)建時(shí),將系統(tǒng)的某一目錄指定為容器某一目錄的數(shù)據(jù)卷,其中 --volume 可以使用 -v 縮寫:

docker run --volume /my/mac/dir:/container/dir $mirror-name

此時(shí),容器內(nèi)部的 /container/dir 將與宿主機(jī)的 /my/mac/dir 形成映射。

當(dāng)然,我們也可以將文件與文件映射起來。

docker run --volume /my/mac/file:/container/file $mirror-name

在指定數(shù)據(jù)卷時(shí),可以省略宿主主機(jī)目錄,此時(shí) Docker 會(huì)自動(dòng)指定一個(gè)主機(jī)空間用以映射:

docker run --volume /container/dir $mirror-name

此外,還可以選擇只讀方式,這樣文件或目錄的修改就只能在宿主機(jī)中進(jìn)行了。只需添加 :ro 即可:

docker run --volume /my/mac/dir:/container/dir:ro $mirror-name

我們可以通過 docker inspect $container-name,并在 Mounts 中看到數(shù)據(jù)卷的詳細(xì)情況。

查看數(shù)據(jù)卷

我們可以通過以下指令查看數(shù)據(jù)卷的情況:

docker volume ls

當(dāng)容器被刪除時(shí),主機(jī)上的數(shù)據(jù)卷并不會(huì)被刪除,此時(shí)可以通過以下指令查看那些沒有容器使用的數(shù)據(jù)卷,注意,這里只會(huì)顯示那些由 Docker 自動(dòng)指定的數(shù)據(jù)卷,即沒有手動(dòng)指定主機(jī)映射目錄的數(shù)據(jù)卷:

docker volume ls -f dangling=true

順便,如果需要在刪除容器時(shí)一并刪除數(shù)據(jù)卷,可以使用以下指令:

docker rm -v $container-name
數(shù)據(jù)卷的繼承

有時(shí)我們可能需要在創(chuàng)建容器時(shí),選擇該容器的數(shù)據(jù)卷與之前的某容器相同,比如在面對多容器共享項(xiàng)目目錄空間這一需求時(shí)。此時(shí)我們可以通過以下方式實(shí)現(xiàn):

docker run --volumes-from $container-name $mirror-name
數(shù)據(jù)卷的刪除

可以使用如下方式刪除數(shù)據(jù)卷,其中 $volume-id 可以通過 docker volume ls 查看:

docker volume rm $volume-id
給已創(chuàng)建時(shí)的容器添加數(shù)據(jù)卷

容器一旦創(chuàng)建后,再添加數(shù)據(jù)卷映射會(huì)比較麻煩,可以查看 參考鏈接。

而且,這里并不建議這么做,建議的做法是將容器提交為鏡像后,以此鏡像再次創(chuàng)建容器。

Docker 端口 綁定端口

我們可以將容器的端口綁定到主機(jī)的某一端口上,已完成某些應(yīng)用的需求,如將主機(jī)的 12345 端口綁定到容器的 80 端口上,這樣我們對 localhost:12345 的訪問就相當(dāng)于對容器 80 端口的訪問。

通過以下方式可以實(shí)現(xiàn)端口綁定,其中 $host-port 為宿主主機(jī)的端口,而 $container-port 為容器的端口,如 12345:80

docker run -p $host-port:$container-port nginx

我們也可以只指定容器的端口號,此時(shí) Docker 會(huì)自動(dòng)分配一個(gè)主機(jī)上的端口號。

docker run -p $container-port nginx

對于 Nginx,官方鏡像在制作時(shí)指定暴露 80443 端口用于 httphttps 請求,對于這種在鏡像中暴露的端口,可以在創(chuàng)建時(shí)使用以下方式全部指定:

docker run -P nginx

此時(shí),Docker 會(huì)自動(dòng)分配主機(jī)上的兩個(gè)端口分別映射容器的 80443 端口。自動(dòng)分配的數(shù)量與鏡像中暴露的端口數(shù)量對應(yīng)。

查看端口

我們可以在 docker ps -a 中的 PORTS 欄看到端口映射情況。注意只有處于運(yùn)行中的容器才會(huì)有實(shí)際的端口映射。

此外,我們還可以使用以下指令查看某一容器的端口映射:

docker port $container-name
docker-compose

創(chuàng)建一個(gè)容器時(shí),可能需要對多項(xiàng)參數(shù)進(jìn)行限制,比如指定網(wǎng)絡(luò)、指定數(shù)據(jù)卷、指定端口等等。而且,有時(shí)我們可能需要同時(shí)使用多個(gè)容器共同支撐應(yīng)用,比如 Nginx 容器、php & php-fpm 容器、MySQL 容器、Redis 容器等。

如果每次都使用各種參數(shù),按某種順序依次啟動(dòng)容器(容器之間可能存在先后順序,比如要先啟動(dòng) PHP 然后再啟動(dòng) Nginx 容器)的話,會(huì)造成很多繁瑣的操作。為了解決這個(gè)問題,我們可以使用 docker-compose。

執(zhí)行以下指令查看 docker-compose 可以執(zhí)行的指令:

docker-compose --help
YAML

docker-compose 依賴一個(gè) docker-compose.yml 文件,用以指定容器數(shù)據(jù)卷、網(wǎng)絡(luò)等。

.yml 文件遵循 YAML 語法,這是一種使用縮進(jìn)的語法。詳細(xì)可見 YAML 語言教程。

樣例

下面給出一個(gè)簡單的樣例,用以說明 docker-compose 的用法

version: "2.0"
services: 
  # 啟用一個(gè)鏡像為 nginx 的容器并命名為 web1
  web1:
    image: nginx
    # 開啟 80 和 443 端口,實(shí)際映射端口由 Docker 指定
    ports:
      - "80"
      - "443"
    # 將該容器加入 mynetwork 中
    networks:
      - "mynetwork"
    # 指定該容器要在 web2 容器啟動(dòng)之后啟動(dòng),且在其停止前停止
    depends_on:
      - web2
  web2:
    image: nginx
    ports:
      - "33333:80"
    networks:
      - "mynetwork"
      - "bridge"
    volumes:
      - "/mnt"
networks:
  # 創(chuàng)建一個(gè)驅(qū)動(dòng)為 bridge 的網(wǎng)絡(luò),命名為 mynetwork
  mynetwork:
    driver: bridge

其中,容器的實(shí)際名字為 .yml 文件所在目錄名_.yml 文件中指定的名字_序號,如 mydir_web1_1。但是,在容器內(nèi)部,可以使用 mydir_web1_1 也可以使用 web1 作為域名訪問另一主機(jī),這對于之后多容器共同支撐 web 服務(wù)是至關(guān)重要的。

更多的 .yml 文件的寫法可以參考 [YAML 模板文件][9]

docker-compose 的使用 生成容器

首先,我們需要有一個(gè)名為 docker-compose.ymldocker-compose.yaml 的文件,并進(jìn)入該文件所在目錄下,通過以下命令生成并啟動(dòng):

docker-compose up

Docker 會(huì)根據(jù) docker-compose.yml 中的內(nèi)容創(chuàng)建網(wǎng)絡(luò)、數(shù)據(jù)卷和容器。

當(dāng)然也可以加入?yún)?shù) -d 使其生成后在后臺(tái)運(yùn)行:

docker-compose up -d
停止

停止容器可以使用:

docker-compose stop
運(yùn)行

再次運(yùn)行容器可以使用

docker-compose start
查看日志
docker-compose logs
刪除

通過以下命令可以刪除容器,但不會(huì)刪除之前創(chuàng)建的網(wǎng)絡(luò)

docker-compose rm

若想既刪除容器,又刪除網(wǎng)絡(luò),可以使用:

docker-compose down

注意,數(shù)據(jù)卷的刪除仍要使用之前刪除數(shù)據(jù)卷的方法。

生成 & 提交鏡像 生成鏡像

我們對使用某一鏡像的容器做了修改,比如在使用 centos 這一鏡像創(chuàng)建的容器中安裝了 nginx,此時(shí)我們可以將這一容器生成為一個(gè)新的鏡像,這之后就可以通過這個(gè)新鏡像創(chuàng)建其他容器,而這些容器也同樣已經(jīng)安裝了 nginx。

生成鏡像可以使用如下方式:

docker commit -m $commit-msg -a $author $container-id $namespace/$mirror-name:$tag

如:

docker commit -m "install nginx" -a "dailybird" abcd1234 dailybird/nginx:test

之后便可以通過 docker images 查看已經(jīng)創(chuàng)建的鏡像了。

提交鏡像

我們可以將鏡像提交到官方倉庫中,這樣就可以像最初獲取鏡像的方式一樣獲得自己制作的鏡像了。

首先,我們需要在 Docker Hub 上注冊賬戶:

https://hub.docker.com/

然后使用以下命令登錄:

docker login

之后會(huì)提示輸入用戶名和密碼,顯示登錄成功后,用以下方式推送:

docker push $namespace/$mirror-name:$tag

由于國內(nèi)訪問 Docker Hub 的速度較慢,我們也可以使用 DaoCloud 或阿里云的 Docker 服務(wù),具體的推送方法可以訪問之前給出的網(wǎng)址,參照其中的方法即可。

Dockerfile

使用已有容器創(chuàng)建鏡像的方式固然可行,可當(dāng)我們需要再次對鏡像修改時(shí),就需要再次生成容器、進(jìn)行配置修改或軟件安裝、提交鏡像。此外,不斷在原有提交鏡像的基礎(chǔ)上修改提交會(huì)存在兩個(gè)問題:

累積的修改條目不夠直觀,可能之后自己也不知道對原有鏡像做了什么修改;

不斷修改的過程在 Docker 看來是增量更新的過程。這一次的修改相當(dāng)于在上一次的基礎(chǔ)上增加了一個(gè)只讀層用于記錄本次的修改情況。而只讀層的數(shù)量是有限的,也就意味著這種修改和提交的方式的操作次數(shù)是受限的。

那么,有沒有一種更好的方式可以實(shí)現(xiàn)鏡像的生成呢?類比 docker-compose.yml,我們可以使用另一種類似配置文件的方式來指導(dǎo)鏡像的生成,這就是 Dockerfile。

Dockerfile 可以指定新鏡像的原鏡像來源、對原鏡像的操作、環(huán)境變量,以及以此創(chuàng)建容器時(shí)執(zhí)行的指令等。

樣例
# 新鏡像基于的原鏡像
FROM centos:centos6.8

# 指明維護(hù)者
MAINTAINER dailybird 

# 設(shè)置一些環(huán)境變量,使用  表示連接多個(gè)設(shè)置
ENV NGINX_VERSION 1.11.11 
    TEST_ENV hello

# 指定暴露的端口號,
EXPOSE 80 443

# 在原鏡像基礎(chǔ)上進(jìn)行的修改
RUN yum install -y wget iputils 
    && wget http://nginx.org/download/nginx-1.11.11.tar.gz

# 以此鏡像創(chuàng)建并啟動(dòng)時(shí),容器執(zhí)行的指令,通常用于啟動(dòng)服務(wù)
CMD ["echo", "hello world"]

比如使用以下配置可以在 centos 中安裝 nginx

FROM centos:centos6.8

MAINTAINER dailybird 

EXPOSE 80 443

RUN cd / 
    && mkdir data 
    && cd data 
    && mkdir nmp 
    && cd nmp 
    && yum install -y wget pcre-devel gcc gcc-c++ 
       ncurses-devel perl make zlib zlib-devel 
       openssl openssl--devel iputils 
    && wget http://nginx.org/download/nginx-1.11.11.tar.gz 
    && tar zxf nginx-1.11.11.tar.gz 
    && cd nginx-1.11.11 
    && ./configure --prefix=/usr/local/nginx 
    && make && make install && make clean 

更多的 Dockerfile 指令可以參考 Dockerfile 指令。

Dockerfile 的使用 使用 Dockerfile 創(chuàng)建鏡像

首先,我們需要新建一個(gè)名為 Dockerfile 的文件(沒有后綴),并寫入一些配置內(nèi)容。然后在該文件的目錄中,通過以下指令創(chuàng)建鏡像:

docker build --tag $namespace/$mirror-name:$tag $dockerfile-dir

其中,$dockerfile-dirDockerfile 所在目錄,比如執(zhí)行:

docker build --tag dailybird/nginx-demo:demo ./

等待一段時(shí)間之后,便可通過 docker images 看到新創(chuàng)建的鏡像了。

docker-compose 中使用 Dockerfile

當(dāng)我們需要啟動(dòng)一個(gè)新鏡像時(shí),可以先將此鏡像創(chuàng)建出來,然后在 docker-compose.yml 文件中通過 image 指定新鏡像;也可以直接通過以下方式將這兩個(gè)步驟合并:

version: "2.0"
services: 
  web1:
    # build 后的參數(shù)為 Dockerfile 文件所在的目錄位置,替換原先的 image
    build: ./
    ports:
      - "80"
    networks:
      - "mynetwork"
      
# ...
# 其他配置

此后,可以通過以下指令創(chuàng)建容器:

docker-compose build
docker-compose up

或者,直接執(zhí)行:

docker-compose up --build

這時(shí),Docker 會(huì)自動(dòng)創(chuàng)建一個(gè)鏡像,并以此創(chuàng)建容器。

后記

關(guān)于 Docker 還有很多內(nèi)容,比如備份、集群、插件等。不過這些就留到進(jìn)一步研究之后再撰文吧。

問題備忘 權(quán)限問題

有時(shí)可能遇到如下 Docker 報(bào)錯(cuò):

WARNING: Error loading config file:/home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied

此時(shí),可以通過以下方法解決:

sudo chmod -R g+rwx /your/path/to/.docker/

參考

Docker 中文社區(qū)站

阿里云ECS部署Docker服務(wù) - CSDN

為什么docker容器啟動(dòng)不了? - Segmentfault

Docker為什么剛運(yùn)行就退出了? - CSDN

&&,&,:的區(qū)別

給一個(gè)正在運(yùn)行的Docker容器動(dòng)態(tài)添加Volume

YAML 語言教程 - 阮一峰

YAML 模版文件 - 極客學(xué)院

Docker:尋找一些docker-compose.yml文件的示例 - segmentfault

Docker Compose—簡化復(fù)雜容器應(yīng)用的利器 - 推酷

一些 Docker 的技巧與秘訣 - segmentfault

Dockerfile 指令 - 極客學(xué)院

Docker permission denied - askubuntu

DOCKER 教程 - 寧皓網(wǎng)

CenOS Linux安裝nginx - 博客園

docker-compose.yml 語法說明

Docker學(xué)習(xí)筆記(2)--Docker常用命令 - CSDN

Dockerfile文件格式的簡單介紹 - 博客園

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26848.html

相關(guān)文章

  • Rancher 2.0快速上手指南

    摘要:而用戶能在同一平臺(tái)上管理任何集群,輕松地充分利用的強(qiáng)大能力及其迅速壯大的生態(tài)系統(tǒng)。在本指南中,你將會(huì)了解如何快速上手。環(huán)境中的所有主機(jī)必須允許彼此間的流量能夠進(jìn)行跨主機(jī)聯(lián)網(wǎng)。這一過程需要幾分鐘完成。如果服務(wù)正常,將會(huì)顯示狀態(tài)為綠色。 大家好,給大家介紹一下,這是幫助大家率先上手嘗試Rancher 2.0的神器 @Rancher 2.0快速上手指南 內(nèi)容導(dǎo)讀 準(zhǔn)備一臺(tái)Linux主機(jī) 啟...

    xiaodao 評論0 收藏0
  • Rancher 2.0快速上手指南

    摘要:而用戶能在同一平臺(tái)上管理任何集群,輕松地充分利用的強(qiáng)大能力及其迅速壯大的生態(tài)系統(tǒng)。在本指南中,你將會(huì)了解如何快速上手。環(huán)境中的所有主機(jī)必須允許彼此間的流量能夠進(jìn)行跨主機(jī)聯(lián)網(wǎng)。這一過程需要幾分鐘完成。如果服務(wù)正常,將會(huì)顯示狀態(tài)為綠色。 大家好,給大家介紹一下,這是幫助大家率先上手嘗試Rancher 2.0的神器 @Rancher 2.0快速上手指南 內(nèi)容導(dǎo)讀 準(zhǔn)備一臺(tái)Linux主機(jī) 啟...

    hufeng 評論0 收藏0
  • Docker實(shí)戰(zhàn)指南(二):在Docker中搭建Nginx服務(wù)器

    摘要:原文地址實(shí)戰(zhàn)指南二在中搭建服務(wù)器學(xué)習(xí)最快的方法就是直接使用,在實(shí)戰(zhàn)指南一介紹中,我們已經(jīng)介紹了如何快速搭建,以及如何在中運(yùn)行我們的第一個(gè)程序。 原文地址:Docker實(shí)戰(zhàn)指南(二):在Docker中搭建Nginx服務(wù)器 Introduction 學(xué)習(xí)Docker最快的方法就是直接使用,在Docker實(shí)戰(zhàn)指南(一):Docker介紹中,我們已經(jīng)介紹了如何快速搭建Docker,以及如何在D...

    Jensen 評論0 收藏0
  • RKE快速上手指南:開源的輕量級K8S安裝程序

    摘要:安裝是公認(rèn)的對運(yùn)維和而言最棘手的問題之一。在這篇文章中,我將介紹一種新的用于在裸機(jī)虛擬機(jī)公私有云上安裝的輕量級工具。默認(rèn)情況下,配置文件被稱為。該命令執(zhí)行以下操作連接到每個(gè)主機(jī)并刪除部署在其上的服務(wù)。 安裝Kubernetes是公認(rèn)的對運(yùn)維和DevOps而言最棘手的問題之一。因?yàn)镵ubernetes可以在各種平臺(tái)和操作系統(tǒng)上運(yùn)行,所以在安裝過程中需要考慮很多因素。 在這篇文章中,我將介...

    terro 評論0 收藏0
  • 實(shí)踐指南-快速解鎖Rancher v1.2

    摘要:引言已經(jīng)發(fā)布,相信眾多容器江湖的伙伴們正魔拳擦準(zhǔn)備好好體驗(yàn)一番。為了更好的體驗(yàn)的完整特性,我們選取了測試比較嚴(yán)格的運(yùn)行環(huán)境。 引言 Rancher v1.2已經(jīng)發(fā)布,相信眾多容器江湖的伙伴們正魔拳擦準(zhǔn)備好好體驗(yàn)一番。由于Docker能夠落地的操作系統(tǒng)眾多,各種Docker版本不同的Graph driver,所以通常大版本的第一個(gè)release都會(huì)在兼容性上有一些小問題。為了更好的體驗(yàn)R...

    KavenFan 評論0 收藏0
  • OSX上Docker快速上手-以部署node.js環(huán)境為例

    摘要:簡介是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的機(jī)器上,也可以實(shí)現(xiàn)虛擬化。該虛擬機(jī)需要安裝操作系統(tǒng)以便在您機(jī)上運(yùn)行。 Docker簡介 Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。 docker的英文本意是碼頭工人...

    oujie 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<