armbian docker Chrome_系统学习Docker 践行DevOps理念-第3章 Docker的镜像和容器 - 0bug

的架构和底层技术

Platform

e039106dbdf950a88b4534cb32a7968a.png

2.Docker Engine

375cacf4017117c91c339024f10633cd.png

3.Docker Architecture

17bec6e83e84b25616c80a86a65afa85.png

4.底层技术支持

985a06a6574bbf6ab6996d587a98acad.png

2. Docker Image概述

1.什么是image

bcca3c40d4accb79fcd9f6dc0173448a.png

 2.查看本地image

b2fae14f05db023bc02a4163cb1bfc16.png

 的获取

Build from Dockerfile

0991716cde94d91672aaede075db19e1.png

Pull from Registry

306c4bd2a8a82cb5526f67d99464e5d7.png

3.DIY一个Base Image

1.查看已有镜像

0c2c6fa7724420890c3ebc5320e1650a.png

 2.创建一个目录叫hello-world,进入目录,创建一个C语言的hello world程序,

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

3.下载gcc和glibc-static将编译成可执行文件hello

gcc -static  -o hello

 85c0bbb5c2e157e1927db6d1d5c0e85a.png

 hello是可执行文件

236b9ff78738f832b27ec42667955c47.png

 4.创建一个Dockerfile文件

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

1744307b9b7c9bdc36ba88872d391d51.png

 5.使用Dockerfile构建image

docker build -t xiaopeng163/hello-world .

05ab2ca1e4eb85bc00609dfcb8a19c92.png

 6.查看分层

docker history acca11e86101

7f49ff1b48595e92c025c8f69d489992.png

 7.执行

docker run xiaopeng163/hello-world

82cef3a03a554b69562a3e6f3846a9e0.png

4.初识Container

1.什么是Container

d73bbe08b5db396a98b8172bef7d78a0.png

2.查看本地正在运行的容器

3.查看当前所有的容器,包括正在运行的以及退出的

714e6e835d06750c75294d729b0a7c5a.png

4.交互式运行容器的方法

ab694440d935df47bca8d95940127a12.png

5.删除容器

docker container rm 846b5efe98d4

e84dd2bb59af30f18b8185265531796c.png

删除容器时容器ID可简写

639957159bf190540de382a3d08e423e.png

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

77ba5f79e090847f5f227df33a48d655.png

 7.docker rm 等同于docker container rm

7e8da80add1656988a5d1d11b9d7563e.png

 8.docker images 等同于docker image ls

c4a7d5781dd4832159f445048906c077.png

 9.docker rmi 等同于 docker image rm 

docker image rm 67759ccc6f1
docker rmi f2a91732366c

a9140da52a4a8c640730259686c84d4b.png

10.查看所有容器ID

c8706002061c7b0718d88b835786da46.png

 11.删除所有容器

docker rm $(docker conatiner ls -aq)

acba1d196833ac7eba283d740fce65c8.png

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

e5b4f9f3458a0a043c8eb063a444ff21.png

5.构建自己的Docker镜像

1.基于一个已经存在的container创建一个image (不提倡使用此方式)

docker commit xenodochial_pare xiaopeng163/centos-vim

768b8a8c0d39eaa01792ddc94348d61f.png

2.通用Dockerfile创建image

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

dbcc112ea20ef3743e8c53f116e35822.png

创建一个Dockerfile

FROM centos
RUN yum install -y vim

98acbb82b7b553c99feee2ac575cc7a2.png

通过Dockerfile构建image

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

a45512645a84fdc1db09a32098c10250.png a6ed26c3b6709f39c60ec3d9cfca1e58.png

语法梳理及最佳实践

尽量使用官方的image作为base image

98dc3e6ba71caab6b5253283121557fc.png

2.LABEL

LABEL定义Metadata 版本、描述等等。

49f3b76c1988c52279cdc68fe678b5ac.png

为了美观,复杂的RUN请用反斜线换行!避免无用分层,合并多条命令成一行!

7f679e5e9fc2e6ced94d38c5b97c2a49.png

2db7f40693c154834e2a50039b288692.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值