1. 創建容器,并進入bash應用
```docker run -t -i software /bin/bash```
備注:-t 進入終端的意思 /bin/bash終端可使用命令
2. 列出本地鏡像
```docker images```
3. 修改已有鏡像
1)、先利用原有的鏡像啟動容器
```docker run -t -i software /bin/bash```
會進入
```root@0b2616b0e5a8:/#```
我們記住這個會話ID
2)、隨便在容器創建寫東西
```root@0b2616b0e5a8:/# touch explame.txt```
創建完成之后使用exit退出bash界面
3)、現在容器已經被我們改變了,使用 docker commit 命令來提交更改后的鏡像副本
```docker commit -m "更新說明" -a "指定更新的用戶信息" 會話ID 目標倉庫名/新的鏡像名 ```
在創建成功后會返回這個鏡像的ID信息
完整命令:
```
docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c
```
4)、之后我們可以使用新的鏡像來啟動容器
```
docker run -t -i ouruser/sinatra:v2 /bin/bash
root@78e82f680994:/#
```
4. 創建容器之后,可以使用以下命令再次進入bash界面
```docker exec -t -i nginx /bin/bash```
5. 利用Dockerfile來創建生成鏡像
```
# 指定容器鏡像
FROM 624508914/nginx
# 維護者信息
MAINTAINER 624508914 <624508914@qq.com>
# RUN 執行容器命令
RUN touch /root/2.txt
# 最后使用docker build 來生成鏡像
# docker build -t="624508914/nginx:v2" .
# 這里的624508914/nginx:v2是新的鏡像名
# 在最后是有一個 . 的 這個點代表Dockerfile所在路徑
```
docker build -t是指定新的用戶信息 “.”是Dockerfile所在的路徑,也可以替換為一個具體的Dockerfile的路徑
* 一個鏡像不能創建超過127層
6. 利用新的鏡像啟動容器
```docker run -d -p 80:80 --name nginx 624508914/nginx:v2```
7. 刪除一個鏡像
```docker rmi 624508914/nginx:v2```
* 如果正在使用這個鏡像 可以加 -f 進行強制刪除
8. 刪除一個容器
```docker rm nginx```
* nginx是我在創建容器時使用--name指定的容器名 當然你也可以用容器ID
* 如果提示無法刪除,可以加 -f 進行強制刪除
9. 修改鏡像標簽
```
#docker tag 鏡像ID 新的鏡像名
#完整命令如下:
docker tag 58ef2dw21f 624508914/nginx:level
```
10. 導入本地鏡像
```
cat centos7.minimal.tar.gz | docker import - centos:7
```
11. 上傳鏡像到Docker遠程倉庫
```
docker push 624508914/nginx
```
* 在push之前必須先使用命令登錄hub.docker.com
```
docker login -e 624508914@qq.com -p 624508914!@
```
- 前端
- 技巧匯總
- 構建 Node + Webpack + React 熱加載開發環境
- React
- Redux
- Webpack
- ES6
- HTML5+CSS3
- Javascript
- JS超簡潔拖動代碼
- jQuery
- 后端
- 技巧匯總
- 代碼中特殊的注釋技術——TODO、FIXME和XXX的用處
- PHP
- Xdebug不解之謎
- PHP時間獲取
- PHP遞歸優化 使用匿名函數進行遞歸
- PHP 發起POST請求
- PHP獲得數組的交集與差集
- PHP遞歸獲取下級數組,可指定ID,一維數組
- PHP 判斷是否為Get/Post/Ajax提交
- PHP實現分流隊列平均顯示信息
- PHP多維數組 指定列排序
- PHP 類Class詳解 筆記記錄
- PHP取整函數詳解
- Node
- Elasticsearch
- 數據庫
- 技巧匯總
- Mysql
- Mysql分區表實現
- Mysql union與union all 查詢
- Mysql 表中表查詢
- Mysql 分組查詢 與 分組條件查詢
- MySQL 添加列,修改列,刪除列
- Mysql優化之:構建海量表,定位慢查詢
- Mysql優化之:表的設計滿足3NF
- Mysql優化常見方法
- Mysql存儲過程詳解
- 運維
- 技巧匯總
- Linux
- Linux Centos系統下 設置代理服務器上網
- Centos7增加開機啟動腳本
- centos 掛載windows共享目錄
- CentOS設置SSH Key登錄
- Linux/CentOS單網卡綁定多個IP
- Windows
- Win10開機啟動項設置全解攻略
- PuTTY連接Linux服務器經常斷線解決方案
- Docker
- Docke啟動文件 docker-compose.yml
- Docker命令簡介(未完)
- Docker閑雜筆記
- Apache
- Nginx
- Nginx配置upstream實現負載均衡
- Nginx負載均衡學習
- IDE
- 技巧匯總
- WebStorm
- PHPStorm
- 協作
- 技巧匯總
- Git
- git 放棄本地修改 強制更新
- git編譯安裝與常用命令
- Svn