1. 程式人生 > 實用技巧 >系統學習Docker 踐行DevOps理念-第3章 Docker的映象和容器

系統學習Docker 踐行DevOps理念-第3章 Docker的映象和容器

1.Docker的架構和底層技術

1.Docker Platform

2.Docker Engine

3.Docker Architecture

4.底層技術支援

2. Docker Image概述

1.什麼是image

2.檢視本地image

sudo docker image ls

3.Image的獲取

Build from Dockerfile

Pull from Registry

3.DIY一個Base Image

1.檢視已有映象

docker image ls

2.建立一個目錄叫hello-world,進入目錄,建立一個C語言的hello world程式,hello.c

#include <stdio.h>  
 
void main()
{
    printf("Hello Docker\n");
}

3.下載gcc和glibc-static將hello.c編譯成可執行檔案hello

gcc -static hello.c -o hello

hello是可執行檔案

4.建立一個Dockerfile檔案

FROM scratch
ADD hello /
CMD ["/hello"]

5.使用Dockerfile構建image

docker build -t xiaopeng163/hello-world .

6.檢視分層

docker history acca11e86101

7.執行

docker run xiaopeng163/hello-world

4.初識Container

1.什麼是Container

2.檢視本地正在執行的容器

docker container ls

3.檢視當前所有的容器,包括正在執行的以及退出的

docker container ls -a

4.互動式執行容器的方法

docker run -it centos

5.刪除容器

docker container rm 846b5efe98d4

刪除容器時容器ID可簡寫

docker conatiner rm 89

6.docker ps -a 等同於docker conatiner ls -a

docker ps -a

7.docker rm 等同於docker container rm

8.docker images 等同於docker image ls

docker images

9.docker rmi 等同於 docker image rm

docker image rm 67759ccc6f1
docker rmi f2a91732366c

10.檢視所有容器ID

11.刪除所有容器

docker rm $(docker conatiner ls -aq)

12.刪除所有已退出的容器

5.構建自己的Docker映象

1.基於一個已經存在的container建立一個image (不提倡使用此方式)

docker commit xenodochial_pare xiaopeng163/centos-vim

2.通用Dockerfile建立image

mkdir docker-centos-vim
cd docker-centos-vim

建立一個Dockerfile

FROM centos
RUN yum install -y vim

通過Dockerfile構建image

docker build -t xiaopeng163/centos-vim-new .

6.Dockerfile語法梳理及最佳實踐

1.