Docker鏡像
鏡像是一個(gè)包含完整的操作系統(tǒng)
Docker容器
容器是鏡像創(chuàng)建的運(yùn)行實(shí)例膛锭,可以啟動(dòng)卢未,停止反镇,刪除等操作
參數(shù) | 內(nèi)容 |
---|---|
REPOSITORY: | 鏡像名稱 |
TAG: | 版本號(hào) |
IMAGE ID: | 鏡像ID |
CREATED: | 創(chuàng)建時(shí)間 |
SIZE: | 大小 |
鏡像的ID 可以相同代表的是同一個(gè)鏡像
鏡像的TAG 如果不指明默認(rèn)使用latest標(biāo)記
Docker倉庫
倉庫是集中鏡像的一個(gè)場(chǎng)所毁涉,倉庫分為公開倉庫和私有倉庫饼齿,公開倉庫提供大量大鏡像給大量用戶下載买乃,用戶也可以通過push命令上傳自己的鏡像到公/私有庫中姻氨。也可以從倉庫中pull下來
倉庫 => 鏡像 => 容器
容器創(chuàng)建、使用步驟:
1 docker run -i -t centos /bin/bash 本地判斷是有有centos的包剪验,無則下載肴焊,有則直接創(chuàng)建
2.進(jìn)入到centos系統(tǒng)的docker進(jìn)行操作
3.exit進(jìn)行退出
4.下次如需要啟動(dòng)之前的容器時(shí)不執(zhí)行 docker run 命令,docker run 命令類似于創(chuàng)建一個(gè)系統(tǒng)
5.docker ps -a 獲取容器要啟動(dòng)的容器信息
6.docker start 容器名/容器id 開啟容器服務(wù)
7.docker attach 容器名/容器id 打開容器
基本命令
指令 | 鏡像操作 | 容器操作 |
---|---|---|
查看本地 | docker images | docker ps |
運(yùn)行 | 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 指定鏡像名 |
命令總結(jié)
命令 | 語句 |
---|---|
查詢本地鏡像 | docker images |
鏡像下載 | docker pull |
鏡像上傳 | docker push |
運(yùn)行容器 | docker run |
保存鏡像 | docker commit |
保存鏡像 | docker build |
刪除鏡像 | docker rmi |
創(chuàng)建鏡像分支 | docker tag |
查詢?nèi)萜餍畔?/td> | docker inspect |
//查詢本地有多少鏡像
docker images
//拉取鏡像創(chuàng)建容器
//通過/bin/bash命令啟動(dòng) 運(yùn)行docker 指定centos系統(tǒng)
// -t 分配一個(gè)偽終端綁定再容器的標(biāo)準(zhǔn)輸入上
// -i 讓容器標(biāo)準(zhǔn)輸入保持打開
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
//通過配置文件創(chuàng)建一個(gè)新的鏡像
// -t 綁定鏡像名:標(biāo)簽 . 表示當(dāng)前路徑
vi Dockerfile
FROM centos:latest // FROM表示從什么鏡像的基礎(chǔ)上創(chuàng)建
MAINTAINER Docker newUser <250038728@qq.com> // MAINTAINER 創(chuàng)建者信息
RUN yum install lynx // RUN shell命令
docker build -t "outuser/sin:v2" .
//============================= 保存/讀取 ===============================
//通過鏡像 保存在本地(tar)
docker save -o 文件.tar outuser/sin:v3
//導(dǎo)入本地鏡像文件(tar)
cat ubuntu.tar.gz | docker import - ubuntu:latest
//通過容器 保存在本地(tar)
docker export ps進(jìn)程名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進(jìn)程名
docker restart ps進(jìn)程名
docker start ps進(jìn)程名
docker attach ps進(jìn)程名 //運(yùn)行容器
//查看該容器的打印日志
docker logs ps容器名/id
//============================= 綁定容器外的數(shù)據(jù) ===============================
// -v標(biāo)識(shí)表示的是綁定數(shù)據(jù)卷功戚, 本地路徑:docker路徑
docker run -i -t -v /root/aPath:/root/data centos
//數(shù)據(jù)容器
docker run -v /root/data --name dbdata -t -i -d centos /bin/bash //創(chuàng)建數(shù)據(jù)容器
docker run -t -i -t --name db1 --volumes-from dbdata centos /bin/bash //綁定數(shù)據(jù)容器
//============================= 綁定端口號(hào) ===============================
//指定端口號(hào) -p可以多次使用(可以綁定多個(gè)端口)
docker run -p 8000:8000 -t -i --name bindPort centos /bin/bash
//隨機(jī)端口號(hào)(隨機(jī)是用大寫的P)
docker run -P -t -i --name bindPort centos /bin/bash
//查詢綁定端口號(hào)
docker port 容器名/id
//docker -link
57 - 69