Docker架構
-鏡像:相當於是一個root文件系統
-容器:鏡像和容器的關係,就像是面向對象程序設計中類和實例一樣,鏡像是靜態的定義,容器是鏡像運行時的實體。容器可以被創建、啓動、停止、刪除、暫停等。
-倉庫:倉庫可看成一個代碼控制中心,用來保存鏡像
ununtu Docker安裝:查看文檔
Docker鏡像加速:查看文檔
Docker 允許你在容器內運行應用程序, 使用 docker run 命令來在容器內運行一個應用程序。
輸出Hello world
docker run ubuntu:15.10 /bin/echo "hello world "
docker: Docker 的二進制執行文件。
run: 與前面的 docker 組合來運行一個容器。
ubuntu:15.10 指定要運行的鏡像,Docker 首先從本地主機上查找鏡像是否存在,如果不存在,Docker 就會從鏡像倉庫 Docker Hub 下載公共鏡像。
/bin/echo "Hello world": 在啓動的容器裏執行的命令
安裝:
1.進入root模式:sudo su
2.安裝:apt install docker
3.查看安裝後的版本:docker -v
4.啓動與停止docker
啓動docker:service docker start
停止docker:service docker stop
重啓docker:service docker restart
查看docker狀態:service docker status
開機啓動:chkconfig docker on
查看docker概要信息:docker info
查看docker幫助文檔:docker --help
鏡像操作
1.列出docker下的所有鏡像:docker images
2.參數說明:
REPOSITORY:鏡像所在的倉庫名稱
TAG:鏡像標籤
IMAGE ID:鏡像ID
CREATED:鏡像的創建日期
SIZE:鏡像大小
2 .OPTIONS說明:
-a:列出本地所有的鏡像(含中間映像層)
-q:只顯示鏡像ID
--digests:顯示鏡像的摘要信息
--no-trunc:顯示完整的鏡像信息
4.這些鏡像都是存儲在docker宿主機的/var/lib/docker目錄下
5.搜索鏡像:docker search [OPTIONS] 鏡像名字
6.參數說明:
NAME:倉庫名稱
DESCRIPTION:鏡像描述
STARS:用戶評價,反應一個鏡像的受歡迎程度
OFFICIAL:是否官方
AUTOMATED:自動構建,表示該鏡像由docker hub自動構建流程創建的
6.OPTIONS說明:
--no-trunc:顯示完整的鏡像描述
-s:列出收藏數不小於指定值的鏡像
--automated:只列出automated build類型的鏡像
7.使用命令拉取:docker pull 鏡像名字
8.刪除鏡像:docker rmi -f 鏡像ID
9.刪除多個:docker rmi -f 鏡像名1:TAG 鏡像名2:TAG
10.刪除全部:docker rmi -f $(docker images -qa)
容器
1.查看容器:docker ps [OPTIONS]
2.OPTIONS說明(常用):
-a :列出當前所有正在運行的容器+歷史上運行過的
-l :顯示最近創建的容器。
-n:顯示最近n個創建的容器。
-q :靜默模式,只顯示容器編號。
--no-trunc :不截斷輸出
3.查看正在運行的容器:docker ps
4.查看所有的容器:docker pa -a
5.查看最後一次運行的容器:docker pa -l
6.查看停止的容器:docker pa -f status=exited
7.使用鏡像centos:latest以交互模式啓動一個容器,在容器內執行/bin/bash命令,並取名爲mycentos
docker run -it --name=mycentos centos:7 /bin/bash
8.創建一個守護式容器:如果對於一個需要長期運行的容器來說,我們可以創建一個守護式容器
docker run -di --name=mycentos2 centos:7
9.登錄守護式容器方式:
docker exec -it container_name (或者 container_id) /bin/bash(exit退出時,容器不會停止
10.停止正在運行的容器:
docker stop $CONTAINER_NAME/ID
11.啓動已運行過的容器:
docker start $CONTAINER_NAME/ID
12.重啓容器:docker restart 容器ID或者容器名
13.強制停止容器:docker kill 容器ID或者容器名
14.文件拷貝:docker cp 需要拷貝的文件或目錄 容器名稱:容器目錄
15.也可以將文件從容器內拷貝出來
docker cp 容器名稱:容器目錄 需要拷貝的文件或目錄
16.我們可以在創建容器的時候,將**宿主機的目錄**與**容器內的目錄**進行映射,這樣我們就可以通過修改宿主機某個目錄的文件從而去影響容器。
創建容器 添加-v參數 後邊爲 宿主機目錄:容器目錄
docker run -di --name=mycentos2 -v /usr/local/myhtml:/usr/local/myhtml centos:7
17.查看容器運行的各種數據
docker inspect mycentos3
17.也可以直接執行下面的命令直接輸出IP地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos3
172.17.0.2
18.測試宿主機連接容器:ping 172.17.0.2
19.刪除容器
刪除指定容器:docker rm $CONTAINER_ID/NAME
刪除所有容器:docker rm `docker ps -a -q`
docker常用安裝
1.安裝tomcat
2.docker hub上面查找tomcat鏡像
docker search tomcat
3.拉取鏡像
docker rmi decker.io/tomcat
docker pull tomcat
4.查看鏡像
docker images tomcat
5.啓動鏡像
docker run -it -p 8080:8080 docker.io/tomcat
-P 主機端口:docker容器端口
-P 隨機分配端口
i:交互
t:終端
6.安裝mysql
docker search mysql
docker pull docker.io/mysql
7.查看鏡像
docker images mysql
8.啓動鏡像
docker exec -it MySQL運行成功後的容器ID /bin/bash
docker run -di --name mysql_0803 -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-p 代表端口映射,格式爲 宿主機映射端口:容器運行端口
-e 代表添加環境變量 MYSQL_ROOT_PASSWORD是root用戶的登陸密碼
9.進入mysql容器,登陸mysql
docker exec -it mysql_0803 /bin/bash
mysql -u root -p
10.mysql redis nginx配置及代理
11.重新啓動容器
docker restart clever_goldwasser
docker常用命令總結(十)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.