国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Flux7 Docker 系列教程(六):另外十五條 Docker 命令

Youngdze / 3635人閱讀

摘要:本系列教程翻譯自,系列共有九篇,本文譯自第六篇。這篇文章將會給大家介紹另外十五條實用的命令。他們分別是,又稱為守護進程,通常是指在后臺持續運行的服務,例如等。不同于,是用來刪除鏡像的命令。或者或者這兩個命令常用于多節點部署。

  

本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第六篇 Part 6: The Next 15 Docker Commands。
該系列所有文章將參考其他學習資料翻譯,也會加入自己的學習作為部分注解。如有錯誤,歡迎指正。

在之前的文章中我們介紹了十五條 Docker 命令。這篇文章將會給大家介紹另外十五條實用的 Docker 命令。

他們分別是:

daemon

daemon,又稱為守護進程,通常是指在后臺持續運行的服務,例如 nginx、apache、php 等。Docker 的 daemon 模式便是類似 nginx 一樣,讓 Docker 運行在后臺提供服務。

和大多數的 unix 服務一樣,-d 參數可以讓 Docker 運行在后臺。

build

在前面我們講過 Dockerfile,不過一直沒有告訴大家怎么用自己的 Dockerfile 生成鏡像文件。
那么現在也不算晚:使用 build 命令生成 image。

docker build [OPTIONS] PATH | URL | - 

PATH / URL / - 這三個是必選選項,三選一。

OPTION 可以使用 docker build --help 進行查看,主要包括構建過程中的內存限制、CPU 限制、以及其他。有兩個必須需要了解的 OPTION 選項:

-f: 和make一樣,如果PATH內找不到Dockerfile,則docker build必須要 -f 參數指定Dockerfile

-t: 指定生成的鏡像標簽。例如: docker build -f Dockerfile -t tag .,使用 Dockerfile.bak 生成一個標簽叫 tag 的鏡像文件。

另外,- 選項非常有意思:docker build -,然后可以交互式地輸入 Dockerfile,輸入完畢后按 Ctrl+D 結束輸入即可。

  

OPTION 一定要放在 PATH / URL / - 前面。

ps

原文至今沒有提到 docker ps 命令,太坑了,補充一下:

docker ps 命令用于顯示運行中的容器,例如

命令 # docker run -d ubuntu /usr/bin/top -b
b33059d6c7427e377a1239eca59605e18bb6d145c4f12df6021db4896b6fcfa3
命令 # docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
b33059d6c742        ubuntu:latest       "/usr/bin/top -b"   2 seconds ago       Up 2 seconds                            backstabbing_jang

docker ps -a 則是顯示所有容器,包括運行過的容器的歷史記錄。

attach

Docker 允許 attach 進入容器并與運行中的容器進行交互,同時允許查看容器內守護進程態下的程序的輸出,使用以下兩種方式退出容器:

Ctrl+C 直接退出

Ctrl+ 退出并顯示堆棧信息。

語法:docekr attach

那么還是剛剛那個容器:

命令 # docker run -d ubuntu /usr/bin/top -b
b33059d6c7427e377a1239eca59605e18bb6d145c4f12df6021db4896b6fcfa3
命令 # docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
b33059d6c742        ubuntu:latest       "/usr/bin/top -b"   2 seconds ago       Up 2 seconds                            backstabbing_jang

命令 # docker attach backstabbing_jang #此處也可以用docker attach b330


top - 05:30:49 up 16:04,  0 users,  load average: 0.01, 0.19, 0.39
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.7 us,  2.0 sy,  0.0 ni, 96.0 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
KiB Mem:   1003080 total,   596484 used,   406596 free,    42524 buffers
KiB Swap:  1046524 total,        0 used,  1046524 free.   330716 cached Mem

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
     1 root      20   0   19744   1280   1008 R  0.0  0.1   0:00.08 top

top - 05:30:52 up 16:05,  0 users,  load average: 0.01, 0.19, 0.39
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  1.0 sy,  0.0 ni, 94.3 id,  4.3 wa,  0.3 hi,  0.0 si,  0.0 st
KiB Mem:   1003080 total,   596484 used,   406596 free,    42528 buffers
KiB Swap:  1046524 total,        0 used,  1046524 free.   330712 cached Mem

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
     1 root      20   0   19744   1280   1008 R  0.0  0.1   0:00.08 top

省略部分輸出
diff

docker diff 用于顯示容器的文件改動,包括 A(add),C(change),D(delete)。這些信息可以用于 debug,也可以用于快速信息共享。

示例:

命令 # docker run -t -i ubuntu /bin/bash
命令(容器內) root@cc9befbe64a1:/# nano a
bash: nano: command not found
命令(容器內)root@cc9befbe64a1:/# apt-get install nano
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  spell
The following NEW packages will be installed:
  nano
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 194 kB of archives.
After this operation, 614 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty/main nano amd64 2.2.6-1ubuntu1 [194 kB]
Fetched 194 kB in 3s (54.3 kB/s)
Selecting previously unselected package nano.
(Reading database ... 11527 files and directories currently installed.)
Preparing to unpack .../nano_2.2.6-1ubuntu1_amd64.deb ...
Unpacking nano (2.2.6-1ubuntu1) ...
Setting up nano (2.2.6-1ubuntu1) ...
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in auto mode
update-alternatives: using /bin/nano to provide /usr/bin/pico (pico) in auto mode
命令(容器內) root@cc9befbe64a1:/#

這個容器ID是cc9befbe64a1,于是可以新開一個終端:

命令 # docker diff cc9
A /.wh..wh.plnk/119.673746
A /.wh..wh.plnk/335.673670
C /bin
A /bin/nano
A /bin/rnano
C /etc
C /etc/alternatives
D /etc/alternatives/editor.fr.1.gz
省略部分輸出
events

獲取 Docker 服務端的實時事件,例如 docker events 的同時運行 docker run ubuntu

import

用于導入 URL / 文件,從本地導入需要 - 參數。docker import [OPTIONS] URL|- [REPOSITORY[:TAG]]URL/-二選一。

例如,我們導入 openvz 的 suse minimal 鏡像:

命令# docker import http://mirrors.ustc.edu.cn/openvz/template/precreated/suse-13.1-x86-minimal.tar.gz suse:minimal  #這里使用的是ustc鏡像源。
Downloading from http://mirrors.ustc.edu.cn/openvz/template/precreated/suse-13.1-x86-minimal.tar.gz
127a9e7b9f87e4fc280c96bee9fad0a19057de38d307fe7fc1f6d35c86f1aff657.89 MB/57.89 MB
命令# docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
suse                     minimal             127a9e7b9f87        2 minutes ago       149.1 MB

導入本地鏡像:

cat suse-13.1-x86-minimal.tar.gz |docker import - suse:minmal

導入 Gentoo 的 stage3:

docker import http://mirrors.ustc.edu.cn/gentoo/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20150423.tar.bz2 gentoo:stage3
export

和 import 相反,export 將容器導出成 tar 壓縮包。

例如

命令 # docker run -i -t -d suse:minimal /bin/bash
060f6e6c877af01313363b6506107438b9eb5ba87a7ef0625577e348a554ecca
命令 # docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
060f6e6c877a        suse:minimal        "/bin/bash"         2 seconds ago       Up 2 seconds                            fervent_ritchie
命令 # docker export -o a.tar 060f
命令 # docker export 060f > a.tar  #也可以這樣。
cp

從容器內復制出文件:格式 docker cp container:path hostpath

命令 # docker cp 060:/etc/zypp/zypp.conf  /tmp/ #060是容器ID的簡寫
命令 # cat /tmp/zypp.conf
## Configuration file for software management
## /etc/zypp/zypp.conf
##
## Boolean values are 0 1 yes no on off true false
省略。。
login

登錄到 docker registry server:

命令 # docker login
Username (qiuker521): qiuker521
WARNING: login credentials saved in /root/.dockercfg.
Login Succeeded

當然也可以登錄到自己的私有服務器:docker login localhost:8080

inspect

用法:docker inspect /,用于收集容器的底層信息,包括如下內容:

實例的IP地址。

端口綁定

搜索特定的端口映射

搜集配置信息。

例如

命令 # docker ps
CONTAINER ID        IMAGE                      COMMAND             CREATED             STATUS              PORTS                    NAMES
cf57741249fb        dockerui/dockerui:latest   "/dockerui"         2 minutes ago       Up 2 minutes        0.0.0.0:9000->9000/tcp   trusting_hawking
命令 # docker inspect --format="{{.NetworkSettings.IPAddress}}" cf5
172.17.0.17
kill

用來停止正在運行的容器。

docker kill [OPTION] container
rm

用來刪除容器。

docker rm [OPTIONS] CONTAINER [CONTAINER...]
rmi

不同于 rm,是用來刪除鏡像的命令。

docker rmi [OPTIONS] IMAGE [IMAGE...]
  

因為會有很多層的依賴,所以很多時候需要用 -f 參數進行刪除。

wait

用來獲取容器的退出信號值。已退出的容器直接返回 exit 值,未退出的容器等待容器退出,然后返回 exit 值。

load & save

這兩個放在一塊吧。

使用 load 從 stdin 導入一個 tar 格式的鏡像或者倉庫,然后用 save 將 tar 鏡像輸出到 stdout

docker save -o 或者docker save >

docker load -i 或者docker load <

這兩個命令常用于多節點部署。

例如:

命令 # docker save -o a.tar suse
命令 # docker load -i a.tar
后記

Docker 命令的操作到此結束,接下來的教程我們將會探討 Docker API:第七章講解 Docker 服務器的 Docker API,第八章和第九章講解 Docker remote API。

區別在于:Docker API 主要是用于 Docker 官方 Index、Registry 和 Client 之間互通消息的 API,Docker remote API 則是用于控制主機 Docker 服務端的 API。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26413.html

相關文章

  • Flux7 Docker 系列教程):另外五條 Docker 命令

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第六篇。這篇文章將會給大家介紹另外十五條實用的命令。他們分別是,又稱為守護進程,通常是指在后臺持續運行的服務,例如等。不同于,是用來刪除鏡像的命令。或者或者這兩個命令常用于多節點部署。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第六篇 Part 6: The Next 15 Docke...

    since1986 評論0 收藏0
  • SegmentFault 技術周刊 Vol.5 - Docker丨Build, Ship, Run,

    摘要:此刻的后手指依舊飛速地敲打鍵盤,絲毫沒有要停不下來意思。閱讀本期技術周刊,你不光能弄明白什么是,使用的意義何在,還將被傳授秘籍,以達的境界。周刊篩選的每篇內容,是作者的獨到見解,踩坑總結和經驗分享。 showImg(https://segmentfault.com/img/bVC5qJ?w=900&h=385); 啪嗒啪嗒,啪嗒啪嗒,聽到后排動感十足的清脆鍵盤響,我就能猜到公司程序員定...

    Panda 評論0 收藏0
  • Flux7 Docker 系列教程(二):必備的 15 條命令

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第二篇。總結本章知識介紹了最基本的十五個命令,接下來的教程將會陸續介紹如何在中運行一個應用以及其他的命令。接下來會在本系列教程結束后補充幾篇應用的實例。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第二篇 Part 2: The 15 Commands。 該系列所有文章將參考其他學習...

    chemzqm 評論0 收藏0
  • Flux7 Docker 系列教程(二):必備的 15 條命令

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第二篇。總結本章知識介紹了最基本的十五個命令,接下來的教程將會陸續介紹如何在中運行一個應用以及其他的命令。接下來會在本系列教程結束后補充幾篇應用的實例。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第二篇 Part 2: The 15 Commands。 該系列所有文章將參考其他學習...

    AprilJ 評論0 收藏0
  • Flux7 Docker 系列教程(一):Docker 簡介

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第一篇。,一種新的容器化技術,因為輕量級和便攜化而受到廣泛關注。本篇文章是系列教程的第一篇。鏡像只讀的容器模板,簡言之就是系統鏡像文件。首先,向發出請求創建一個鏡像并且指定容器內要運行的命令。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第一篇 Part 1: An Introduction。...

    zhaofeihao 評論0 收藏0

發表評論

0條評論

Youngdze

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<