在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ 使用docker第一步
docker用戶指南
鏡像
在Docker中運行SSH進程服務(wù)
Docker Hub
CentOS
Rackspace Cloud
Red Hat Enterprise Linux
在Docker中運行Reids服務(wù)
FrugalWare
管理容器數(shù)據(jù)
Debian
Docker中運行MongoDB
Gentoo
在Docker中使用Riak服務(wù)
IBM SoftLayer
在Docker中運行Apt-Cacher-ng服務(wù)
開始使用Docker Hub
Amazon EC2
在Docker中運行"hello Word"應(yīng)用
Docker Hub上的倉庫和鏡像
Ubuntu
Docker Hub賬戶
Docker中運行Node.js web應(yīng)用
Docker中運行CouchDB服務(wù)
Fedora
Binaries
CRUX Linux
使用Docker Hub
Mac OS X 安裝 Docker
在Docker中運行PostgreSQL
創(chuàng)建一個基本鏡像
Docker Hub上的自動化構(gòu)建
連接容器
Google Cloud Platform
使用docker第一步
使用docker鏡像
Arch Linux
openSUSE
使用容器
Microsoft Windows 安裝docker

使用docker第一步

檢查你的Docker是否安裝

本指南假設(shè)你已經(jīng)完成了Docker的安裝工作。檢查你安裝的Docker,運行以下命令:

    # Check that you have a working install
    $ docker info

如果你得到 docker: command not found,你可能沒有完整的安裝上Docker。

如果你得到 /var/lib/docker/repositories: permission denied ,那你可能沒有權(quán)限訪問你主機上的Docker。

為獲得訪問Docker權(quán)限可以直接在命令前加sudo,或者采取以下步驟授予權(quán)限::

    # 如果還沒有docker group就添加一個:
    $ sudo groupadd docker
    # 將用戶加入該group內(nèi)。然后退出并重新登錄即可生效。
    $ sudo gpasswd -a ${USER} docker
    # 重啟docker
    $ sudo service docker restart

下載預構(gòu)建鏡像

    # Download an ubuntu image
    $ sudo docker pull ubuntu

這將從Docker Hub中查找到 Ubuntu 鏡像,并且從Docker Hub中下載鏡像到本地緩存中。

提示:當鏡像下載成功之后,你將會看到鏡像的短id一個12字符的hash, 539c0211cd76: Download complete,這些短的鏡像IDS是完整ID的前12個字符。你可以使用 docker inspectdocker images --no-trunc=true來查看完整ID。

如果你使用OS X,你可以使用 sudo。

運行交互shell

    # 在ubuntu鏡像中使用運行交互shell,
    # 分配一個控制臺,分配輸入輸出流
    # To detach the tty without exiting the shell,
    # use the escape sequence Ctrl-p + Ctrl-q
    # note: This will continue to exist in a stopped state once exited (see "docker ps -a")
    $ sudo docker run -i -t ubuntu /bin/bash

綁定Docker到另外的主機/端口或者Unix socket

提示:修改默認的 docker 進程綁定到一個tcp端口或者 Unix docker群組,這將會增加你的安全風險,允許非 root 用戶獲得 root 訪問的主機權(quán)限。請確保你的 docker 權(quán)限。如果你綁定一個 TCP 端口任何人可以通過這個端口來訪問你的 Docker,所以它不應(yīng)該放在一個開放的網(wǎng)絡(luò)中。

使用 -H 標記可以使 Docker 來監(jiān)聽指定的IP和端口。默認情況下,它將監(jiān)聽 unix:///var/run/docker.sock只允許本地root用戶連接。你可以將它設(shè)置為 0.0.0.0:2375或者指定的主機IP來給所有人訪問權(quán)限。但是這不推薦,因為這樣普通用戶獲得主機上運行進程的root權(quán)限。

同樣,Docker 客戶端可以使用 -H 來連接指定的主機端口。

-H 使用以下格式來分配主機和端口

    tcp://[host][:port]` or `unix://path

舉例:

  • tcp://host:2375 -> TCP connection on host:2375
  • unix://path/to/socket -> Unix socket located at path/to/socket

-H,當輸入為空的時候,將默認為相同的原始值,即沒有-H輸入。 -H也接受短形式的TCP綁定。

    host[:port]` or `:port

進程模式運行Docker

    $ sudo <path to>/docker -H 0.0.0.0:5555 -d &

下載Ubuntu鏡像:

    sudo docker -H :5555 pull ubuntu

你可以使用多個-H標記,例如,你想要同時監(jiān)聽TCP和Unix socket。

    # 進程模式下運行docker
    $ sudo <path to>/docker -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock -d &
    # 使用默認的unix socker來下載ubuntu鏡像
    $ sudo docker pull ubuntu
    # 或者使用TCP端口
    $ sudo docker -H tcp://127.0.0.1:2375 pull ubuntu

開始一個長時間運行的工作進程

    # 開始一個非常有用的長時間運行的進程
    $ JOB=$(sudo docker run -d ubuntu /bin/sh -c "while true; do echo Hello world; sleep 1; done")

    # 到目前為止收集的輸出工作
    $ sudo docker logs $JOB

    # 關(guān)閉這項進程
    $ sudo docker kill $JOB

列出容器

    $ sudo docker ps # Lists only running containers
    $ sudo docker ps -a # Lists all containers
    $ sudo docker ps -l # List the last running container

控制容器

    # 開始一個新的容器
    $ JOB=$(sudo docker run -d ubuntu /bin/sh -c "while true; do echo Hello world; sleep 1; done")

    # 停止容器
    $ docker stop $JOB

    # 開始容器
    $ docker start $JOB

    # 重啟容器
    $ docker restart $JOB

    # 殺死一個工作
    $ docker kill $JOB

    # 刪除一個容器
    $ docker stop $JOB # Container must be stopped to remove it
    $ docker rm $JOB

綁定服務(wù)到TCP端口

    #讓容器綁定4444端口,并通知netcat監(jiān)聽它。
    $ JOB=$(sudo docker run -d -p 4444 ubuntu:12.10 /bin/nc -l 4444)

    # 查看容器轉(zhuǎn)發(fā)的公共端口
    $ PORT=$(sudo docker port $JOB 4444 | awk -F: '{ print $2 }')

    # 連接這個公共端口
    $ echo hello world | nc 127.0.0.1 $PORT

    # 確認網(wǎng)絡(luò)連接工作
    $ echo "Daemon received: $(sudo docker logs $JOB)"

提交(存儲)一個容器的狀態(tài)

保存你鏡像容器的狀態(tài),這也就可以重復利用。

當你提交你的容器,僅僅是鏡像和容器之間的不同,從創(chuàng)建到容器的當前狀態(tài)來存儲(作為差異)。你可以使用 docker images來查看已有鏡像。

    # 使用新的名稱來提交你的鏡像
    $ sudo docker commit <container_id> <some_name>

    # 列出你的容器
    $ sudo docker images

你現(xiàn)在有一個鏡像的狀態(tài),你可以創(chuàng)建新的實例。

刪除Docker鏡像

首先要保證有權(quán)限對Docker鏡像或者容器進行操作,具體做法參見進入前文安裝部分。

    # 停止所有容器
    $ docker stop $(docker ps -a -q)

    # 刪除指定鏡像
    $ docker rmi $image

    # 刪除無標示鏡像,即id為<None>的鏡像
    $ docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

    # 刪除所有鏡像
    $ docker rmi $(docker images -q)