最近docker很熱門,關於docker的優點和介紹可以看這裡:

https://www.docker.com/what-docker

本文使用 osx ei captain 10.11.6 來介紹docker命令行的基本用法,幫助你更快的入門docker

## 安裝docker

在這裡下載並安裝docker

https://www.docker.com/products/docker-toolbox

### 對牆內用戶的建議

由於國內互聯網審查的原因,dockerhub官方的images下載速度非常的慢,大家可以使用國內鏡像服務來加速。

這裡推薦幾個國內優秀的docker鏡像

1.https://get.daocloud.io/#install-docker
2.https://dev.aliyun.com/ [需要註冊阿里雲賬號,並在會員中心內查看配置方法]

## 搜索dockerhub中的鏡像

使用docker search + 鏡像名來搜索dockerhub中的鏡像
你也可以在 https://hub.docker.com/explore/ 這裡找尋適合自己的鏡像。

docker search centos

## 將鏡像下載到本地

docker pull centos
運行之後,你會看到Pull complete的提示
Using default tag: latest
latest: Pulling from library/centos
3d8673bd162a: Pull complete
Digest: sha256:a66ffcb73930584413de83311ca11a4cb4938c9b2521d331026dad970c19adf4
Status: Downloaded newer image for centos:latest
說明鏡像下載完成

## 查看本機的鏡像

docker images
即可看到剛剛下載到本地的鏡像

REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 970633036444 12 days ago 196.7 MB

## 運行和創建容器&鏡像的實例

容器和鏡像的關係:容器是鏡像運行的一個實例,你可以將鏡像理解成一個系統安裝光碟 or .ISO 文件,可以將容易理解成一個系統。
使用docker run 命令來運行一個容器 ,剛剛下載的是centos的鏡像 我們可以執行下面的命令進行基本的操作
1. 使用容器輸出一個hello world
docker run centos /bin/echo hello world
2. 列出容器根目錄中所有的目錄和文件
docker run centos /bin/ls -lash /
3. 在容器中ping一下google的publicDNS
docker run centos /bin/ping 8.8.8.8
本容器的系統是centos ,你可以使用centos所支持的命令,來進行更多的操作

## 查看docker的容器

使用 docker ps --all 或者簡寫形式 docker ps -a 命令來列出docker創建的所有容器
使用 docker ps --all --latest 或者簡寫形式 docker ps -a -l 來列出最新創建的一個容器
CONTAINER ID[容器ID]
IMAGE[鏡像名字]
COMMAND[命令]
CREATED[創建時間]
STATUS[容器轉檯]
PORTS[埠]
NAMES[容器名] [在運行的時候,docker會分配一個默認的名字,你也可以給容器起名字]
f6db42414709 centos "/bin/ping 8.8.8.8" 5 minutes ago Exited (0) 5 minutes ago gloomy_hamilton
6deb3cb274c7 centos "/bin/ls -lash /" 6 minutes ago Exited (0) 6 minutes ago prickly_jennings
23ef9d69db25 centos "/bin/echo hello wor" 11 minutes ago Exited (0) 11 minutes ago high_golick

## 刪除一個容器

可以使用 docker rm 容器ID 來刪除一個容器
比如: docker rm 9de87532b2bc
如果刪除成功,將會顯示所刪除的容器ID
如果容器不存在則會顯示 Error response from daemon: No such container: xxx
刪除之後你可以參考 #查看docker的容器# 這一步驟來查看剩下的容器

## 自定義容器的名字

使用命令 docker run --name helloDocker centos /bin/echo return helloDocker 來創建一個名字叫helloDocker的容器
docker run --name [容器名字] [鏡像名字] [命令]

## 查看容器的日誌

使用命令 docker logs 容器ID/名字 來查看容器的日誌
比如:docker logs 23ef9d69db25 和 docker logs helloDocker

## 啟動和停止容器

停止容器:docker stop 容器ID
啟動容器:docker start 容器ID
重啟容器:docker restart 容器ID

## 創建一個帶交互的容器

帶交互的容器可以進入到容器內,使用容器裏的shell來操作容器,當然帶命令的容器也支持給容器命名 可以參照 #自定義容器的名字# 步驟來增加一個 --name [容器名] 的參數
docker run --interactive --tty centos /bin/bash
給互動式docker容器起一個名字:docker run --interactive --tty --name dockername centos /bin/bash
簡寫形式:docker run -i -t centos /bin/bash
退出可以使用exit,退出後容器就會停止

## 讓容器在後臺運行

命令:docker run -detach centos /bin/ping 8.8.8.8
簡寫形式:docker run -d centos /bin/ping 8.8.8.8
運行後,會返回一個容器ID,使用這個ID,可以進入這個容器,並查看命令運行狀態
運行命令:docker logs --follow e93e6fef0b6c
如果想要停止這個容器參考 #啟動和停止容器#

推薦閱讀:

相關文章