docker 简版教程
Docker
- docker簡介
- docker架構
- docker安裝
- docker使用
- docker容器使用
- docker鏡像使用
- docker容器連接
- docker實例
- docker安裝Nginx
- docker安裝PHP
- docker安裝MYSQL
- docker安裝Tomcat
- docker安裝Python
- docker安裝redis
- docker安裝MongoDB
- docker安裝Apache
- docker使用參考
- docker命令大全
- docker資源匯總
一 、 Docker簡介
二 、 Docker 架構
| Docker 鏡像 | Docker鏡像是用于創建Docker容器的模板 |
| Docker 容器 | 容器是獨立運行的一個或一組應用 。 |
| Docker 客戶端 | Docker客戶端通過命令行或者其他工具使用Docker API 與 Docker的守護進程進行通信 |
| Docker主機 | 一個物理或者虛擬的機器用于執行Docker守護進程和容器 |
| Docker倉庫 | Docker倉庫用來保存鏡像 , 可以理解為代碼控制中的代碼倉庫 |
| Docker Machine | Docker Machine 是一個簡化的Docker安裝的命令行工具 , 通過一個簡單的命令行即可在相應的平臺上安裝Docker |
三 、 Docker 安裝
四 、 添加鏡像
在 /etc/docker/daemon.json文件中添加:
{"registry-mirrors": ["http://hub-mirror.c.163.com"]}五 、 docker 使用
2. 可以使用 exit 或Ctrl + D退出會話模式
3. 啟動鏡像(后臺模式)
1. docker run -d ubuntu:15.10 /bin/sh -c “while true ; do echo hello world ; sleep 1 ; done;”
2. 使用ps 查看docker后臺進程
3. 在后臺啟動鏡像成功之后 , 返回一串字母+ 數字 , 這是啟動的鏡像的進程ID
1. 解析:
1. CONTAINER ID : 容器ID
2. NAMES : 自動分配的容器名稱
3. 查看進程日志
4. 停止容器
1. docker stop 鏡像進程ID| 容器自動為鏡像進程分配的Name
2. docker 客戶端
1. 輸入docker 來查看docker客戶端的所有命令:
2. 使用 docker common –help 查看某一命令具體的使用方法
3. 運行一個web 應用:
1. docker pull training/webapp # 拉取training/webapp鏡像
2. docker run -d -P training/webapp python app.py
1. 說明: 運行一個 Python Flask 鏡像來運行一個web應用。
2. 參數說明:
1. -d : 鏡像在后臺運行
2. -P : 將容器內部使用的端口映射到我們使用的主機上
3. 查看正在運行的web鏡像進程:
1. 可以看到docker 中的Python Flask 框架使用了5000端口 , 并且將5000 端口歐映射到了主句32768端口上 , 可以使用瀏覽器訪問該端口
2. 我們可以使用-p 參數來指定端口
3. 查看網絡端口的快捷方式:
1. 除了在docker ps 中可以看到進程對應的端口之外 , 還可以 通過 docker port ID|名字 查看鏡像占用的端口以及主機端口的映射情況
2. 查看日志:
1. docker logs -f ID|名字
1. 參數說明:
1. -f : 讓docker像 tail -f一樣來輸出容器內部的標準輸出
2. 查看 鏡像內部進程
1. docker top ID|名字
2. 檢查運行的鏡像信息
1. docker inspect ID|名字 他會返回一個json 格式的數據 , 記錄著該鏡像的配置和狀態信息
2. 容器內鏡像的停止 、 重啟 、 移除
1. docker stop ID|名字 //停止
2. docker start ID|名字 // 重啟
3. docker rm ID|名字 // 移除容器內的應用
六 、 docker 鏡像的使用
更新鏡像
此時我們對應用進行了更新操作 , 我們可以通過docker commit 提交對應用的更新
runoob@runoob:~$ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2 sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8構建鏡像:
可以使用docker bulid , 從零開始構建一個新的鏡像 , 為此我們需要創建一個Dockerfile 文件 , 其中包含一組指令來告訴Docker 如何構建我們的鏡像 。
runoob@runoob:~$ cat Dockerfile FROM centos:6.7 MAINTAINER Fisher "fisher@sudops.com"RUN /bin/echo 'root:123456' |chpasswd RUN useradd runoob RUN /bin/echo 'runoob:123456' |chpasswd RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local EXPOSE 22 EXPOSE 80 CMD /usr/sbin/sshd -D 每一個指令都會在鏡像上創建一個新的層,每一個指令的前綴都必須是大寫的。第一條FROM,指定使用哪個鏡像源RUN 指令告訴docker 在鏡像內執行命令,安裝了什么。。。然后,我們使用 Dockerfile 文件,通過 docker build 命令來構建一個鏡像。 runoob@runoob:~$ docker build -t runoob/centos:6.7 . Sending build context to Docker daemon 17.92 kB Step 1 : FROM centos:6.7---> d95b5ca17cc3 Step 2 : MAINTAINER Fisher "fisher@sudops.com"---> Using cache---> 0c92299c6f03 Step 3 : RUN /bin/echo 'root:123456' |chpasswd---> Using cache---> 0397ce2fbd0a Step 4 : RUN useradd runoob 參數說明:-t :指定要創建的目標鏡像名. :Dockerfile 文件所在目錄,可以指定Dockerfile 的絕對路徑使用docker images 查看創建的鏡像已經在列表中存在,鏡像ID為860c279d2fec ......七、 Docker 實例
八 、 docker命令大全
九、 docker 資源
docker官網:http://www.docker.comDocker windows入門:https://docs.docker.com/windows/Docker Linux 入門:https://docs.docker.com/linux/Docker mac 入門:https://docs.docker.com/mac/Docker 用戶指引:https://docs.docker.com/engine/userguide/Docker 官方博客:http://blog.docker.com/Docker Hub: https://hub.docker.com/Docker開源: https://www.docker.com/open-sourceDocker中文資源Docker中文網站:https://www.docker-cn.com/Docker安裝手冊:https://docs.docker-cn.com/engine/installation/Docker 國內鏡像網易加速器:http://hub-mirror.c.163.com官方中國加速器:https://registry.docker-cn.comustc的鏡像:https://docker.mirrors.ustc.edu.cndaocloud:https://www.daocloud.io/mirror#accelerator-doc(注冊后使用)遇到的問題及解決
無法開啟docker服務:
解決:
創建文件daemon.json 并寫入內容
{"storage-driver": "devicemapper", "registry-mirrors": ["http://hub-mirror.c.163.com"]}總結
以上是生活随笔為你收集整理的docker 简版教程的全部內容,希望文章能夠幫你解決所遇到的問題。