Docker鏡像
鏡像是一個包含完整的操作系統
Docker容器
容器是鏡像創建的運行實例,可以啟動,停止,刪除等操作
參數 | 內容 |
---|---|
REPOSITORY: | 鏡像名稱 |
TAG: | 版本號 |
IMAGE ID: | 鏡像ID |
CREATED: | 創建時間 |
SIZE: | 大小 |
鏡像的ID 可以相同代表的是同一個鏡像
鏡像的TAG 如果不指明默認使用latest標記
Docker倉庫
倉庫是集中鏡像的一個場所,倉庫分為公開倉庫和私有倉庫,公開倉庫提供大量大鏡像給大量用戶下載,用戶也可以通過push命令上傳自己的鏡像到公/私有庫中。也可以從倉庫中pull下來
倉庫 => 鏡像 => 容器
容器創建、使用步驟:
1 docker run -i -t centos /bin/bash 本地判斷是有有centos的包,無則下載,有則直接創建
2.進入到centos系統的docker進行操作
3.exit進行退出
4.下次如需要啟動之前的容器時不執行 docker run 命令,docker run 命令類似于創建一個系統
5.docker ps -a 獲取容器要啟動的容器信息
6.docker start 容器名/容器id 開啟容器服務
7.docker attach 容器名/容器id 打開容器
基本命令
指令 | 鏡像操作 | 容器操作 |
---|---|---|
查看本地 | docker images | docker ps |
運行 | docker run -t -i 鏡像名/鏡像id /bin/bash | docker start 容器名/容器id docker attach 容器名/容器id |
刪除 | docker rmi 鏡像名 | docker rm 容器名/容器id |
保存tar文件 | docker save -o 文件名.tar 鏡像 | docker export ps容器ID > 文件名.tar |
加載tar文件 | docker import 文件名.tar 指定鏡像名 | docker load 文件名.tar 指定鏡像名 |
命令總結
命令 | 語句 |
---|---|
查詢本地鏡像 | docker images |
鏡像下載 | docker pull |
鏡像上傳 | docker push |
運行容器 | docker run |
保存鏡像 | docker commit |
保存鏡像 | docker build |
刪除鏡像 | docker rmi |
創建鏡像分支 | docker tag |
查詢容器信息 | docker inspect |
//查詢本地有多少鏡像
docker images
//拉取鏡像創建容器
//通過/bin/bash命令啟動 運行docker 指定centos系統
// -t 分配一個偽終端綁定再容器的標準輸入上
// -i 讓容器標準輸入保持打開
sudo docker run -t -i centos:latest /bin/bash
//通過容器保存鏡像
//-m版本注釋
//-a解釋作者信息
// bb10e47cf9cf 容器id(可在docker ps -a 查詢)
//最后指定鏡像名稱
docker commit -m "add lynx" -a "Docker NewBee" bb10e47cf9cf newcentos/new
//通過配置文件創建一個新的鏡像
// -t 綁定鏡像名:標簽 . 表示當前路徑
vi Dockerfile
FROM centos:latest // FROM表示從什么鏡像的基礎上創建
MAINTAINER Docker newUser <250038728@qq.com> // MAINTAINER 創建者信息
RUN yum install lynx // RUN shell命令
docker build -t "outuser/sin:v2" .
//============================= 保存/讀取 ===============================
//通過鏡像 保存在本地(tar)
docker save -o 文件.tar outuser/sin:v3
//導入本地鏡像文件(tar)
cat ubuntu.tar.gz | docker import - ubuntu:latest
//通過容器 保存在本地(tar)
docker export ps進程名ID > 文件名.tar
//加載本地文件
docker load --input 文件名.tar
//=============================== 上傳 ==================================
//鏡像上傳
docker push outuser/sin:v3
//=============================== 修改 ==================================
//刪除鏡像(rmi 是刪除鏡像 rm是刪除容器)
docker rmi outuser/sin:v3
//刪除容器 名/id
docker rm 容器名
// 原有的鏡像id 新鏡像名:tag名
docker stop ps進程名
docker restart ps進程名
docker start ps進程名
docker attach ps進程名 //運行容器
//查看該容器的打印日志
docker logs ps容器名/id
//============================= 綁定容器外的數據 ===============================
// -v標識表示的是綁定數據卷, 本地路徑:docker路徑
docker run -i -t -v /root/aPath:/root/data centos
//數據容器
docker run -v /root/data --name dbdata -t -i -d centos /bin/bash //創建數據容器
docker run -t -i -t --name db1 --volumes-from dbdata centos /bin/bash //綁定數據容器
//============================= 綁定端口號 ===============================
//指定端口號 -p可以多次使用(可以綁定多個端口)
docker run -p 8000:8000 -t -i --name bindPort centos /bin/bash
//隨機端口號(隨機是用大寫的P)
docker run -P -t -i --name bindPort centos /bin/bash
//查詢綁定端口號
docker port 容器名/id
//docker -link
57 - 69