# Docker 命令
## 查看命令
| 命令 | 解釋 |
| - | :-: |
| docker ps | 查看正在運行的容器 |
| docker ps -a | 查看所有已經創建的容器 |
| docker images | 列出鏡像列表 |
| docker container ls | 效果同ps命令(加-a效果同) |
### docker ps 詳細參數
```bash
-a :顯示所有的容器,包括未運行的。
-f :根據條件過濾顯示的內容。
--format :指定返回值的模板文件。
-l :顯示最近創建的容器。
-n :列出最近創建的n個容器。
--no-trunc :不截斷輸出。
-q :靜默模式,只顯示容器編號。
-s :顯示總的文件大小。
```
### docker images 詳細參數
```bash
-a :列出本地所有的鏡像(含中間映像層,默認情況下,過濾掉中間映像層);
--digests :顯示鏡像的摘要信息;
-f :顯示滿足條件的鏡像;
--format :指定返回值的模板文件;
--no-trunc :顯示完整的鏡像信息;
-q :只顯示鏡像ID。
```
## 刪除命令
| 命令 | 解釋 |
| - | :-: |
| docker rm | 刪除容器 |
| docker rmi | 刪除鏡像 |
### docker rm 詳細參數
```bash
-f :強制刪除一個運行中的容器
-l :移除容器間的網絡連接,而非容器本身
-v :-v 刪除與容器關聯的卷
```
### docker rmi 詳細參數
```bash
-f :強制刪除;
--no-prune :不移除該鏡像的過程鏡像,默認移除;
```
## 宿-主操作
| 命令 | 解釋 |
| - | :-: |
| docker cp | 容器與主機之間的數據拷貝 |
### docker cp 實例
```bash
docker cp nginx:/www /tmp/ #將nginx容器的/www 拷貝到本地/tmp下
```
## 生命周期
| 命令 | 解釋 |
| - | :-: |
| docker start | 啟動容器 |
| docker stop | 停止容器 |
| docker restart | 重啟容器 |
| docker exec | 在運行的容器中執行命令 |
| docker run | 創建一個新的容器并運行一個命令 |
### docker exec 詳細參數
```bash
-d :分離模式: 在后臺運行
-i :即使沒有附加也保持STDIN 打開
-t :分配一個偽終端
#實例
docker exec -it nginx /bin/bash
```
### docker run 詳細參數
```bash
-i, --interactive=false 打開STDIN,用于控制臺交互
-t, --tty=false 分配tty設備,該可以支持終端登錄,默認為false
-d, --detach=false 指定容器運行于前臺還是后臺,默認為false
-u, --user="" 指定容器的用戶
-a, --attach=[] 登錄容器(必須是以docker run -d啟動的容器)
-w, --workdir="" 指定容器的工作目錄
-c, --cpu-shares=0 設置容器CPU權重,在CPU共享場景使用
-e, --env=[] 指定環境變量,容器中可以使用該環境變量
-m, --memory="" 指定容器的內存上限
-P, --publish-all=false 指定容器暴露的端口
-p, --publish=[] 指定容器暴露的端口
-h, --hostname="" 指定容器的主機名
-v, --volume=[] 給容器掛載存儲卷,掛載到容器的某個目錄 順序:主機:容器
--volumes-from=[] 給容器掛載其他容器上的卷,掛載到容器的某個目錄
--cap-add=[] 添加權限,權限清單詳見:http://linux.die.net/man/7/capabilities
--cap-drop=[] 刪除權限,權限清單詳見:http://linux.die.net/man/7/capabilities
--cidfile="" 運行容器后,在指定文件中寫入容器PID值,一種典型的監控系統用法
--cpuset="" 設置容器可以使用哪些CPU,此參數可以用來容器獨占CPU
--device=[] 添加主機設備給容器,相當于設備直通
--dns=[] 指定容器的dns服務器
--dns-search=[] 指定容器的dns搜索域名,寫入到容器的/etc/resolv.conf文件
--entrypoint="" 覆蓋image的入口點
--env-file=[] 指定環境變量文件,文件格式為每行一個環境變量
--expose=[] 指定容器暴露的端口,即修改鏡像的暴露端口
--link=[] 指定容器間的關聯,使用其他容器的IP、env等信息
--lxc-conf=[] 指定容器的配置文件,只有在指定--exec-driver=lxc時使用
--name="" 指定容器名字,后續可以通過名字進行容器管理,links特性需要使用名字
--net="bridge" 容器網絡設置:
bridge 使用docker daemon指定的網橋
host //容器使用主機的網絡
container:NAME_or_ID >//使用其他容器的網路,共享IP和PORT等網絡資源
none 容器使用自己的網絡(類似--net=bridge),但是不進行配置
--privileged=false 指定容器是否為特權容器,特權容器擁有所有的capabilities
--restart="no" 指定容器停止后的重啟策略:
no:容器退出時不重啟
on-failure:容器故障退出(返回值非零)時重啟
always:容器退出時總是重啟
--rm=false 指定容器停止后自動刪除容器(不支持以docker run -d啟動的容器)
--sig-proxy=true 設置由代理接受并處理信號,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
```
## 鏡像倉庫
| 命令 | 解釋 |
| - | :-: |
| docker pull | 拉取鏡像 |
| docker search | 從Docker Hub查找鏡像 |
## docker環境信息
| 命令 | 解釋 |
| - | :-: |
| docker info | 查看docker系統信息 |
| docker version | 顯示 Docker 版本信息 |
- 前言
- PHP進階之路
- 1.LANMP的環境安裝
- C與數據結構
- PYTHON
- JAVA
- GO入門實踐
- 1.入門語法
- 1.安裝配置GO環境
- 2.數據類型定義
- 3.運算符
- 4.控制語句
- 5.數組
- 6.切片
- 7.函數
- 8.結構體
- 注意事項
- Linux爬坑之路
- 1.zabbix服務
- 1.在龍芯Fedora機器上部署
- Git版本控制
- 0.工作流程與原理
- 1.安裝Git
- 2.安裝后配置
- 3.基礎命令
- 數據庫實踐
- 1.SQL基礎語法
- 1.基本語法
- 2.MySQL實踐
- 1.數據庫常用操作
- Docker容器技術
- 1.Docker常用命令
- 2.進階
- Vagrant虛擬化技術
- 1.基本命令詳解
- 2.進階教程
- WEB前端之旅
- CSS入門
- 1.CSS選擇器
- 操作系統
- 雜談一之系統啟動引導