概念

1.镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。
2.容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。
3.仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。

Docker镜像的分类

1.基础镜像,可以去docker.io上下载,也可以在国内的Docker仓库下载
2.自定义镜像,可以基于基础镜像实现镜像的自定义
Docker镜像的相关命令
1.docker images
2.docker search centos
3.docker pull centos:7
Docker仓库的配置/etc/docker/daemon.json,重启Docker
{
"registry-mirrors": ["http://hub-mirror.c.163.com/"]
}

国内仓库pull镜像

docker pull hub-mirror.c.163.com/library/centos:7
docker images
镜像导出备份,删除和导入
重命名:docker tag hub-mirror.c.163.com/library/centos:7 centos:7
导出镜像:docker save hub-mirror.c.163.com/library/centos:7 >/tmp/centos.tar
删除镜像:docker rmi centos:7
镜像导入:docker load < /tmp/centos7.tar

Docker 容器

可以使用镜像生成对应运行的容器,一个镜像可以生成多个容器
Centos7镜像生成的容器系统是Centos7,Ubuntu镜像生成的容器系统是Ubuntu的
使用Centos7镜像启动容器
docker run -it centos:7 /bin/bash
i表示交互式,t表示打开一个Shell窗口
宿主机上查看容器的相关操作
1.docker ps:查看运行的容器。docker ps -a:查看所有容器
2.docker inspect:查看容器详细信息
3.docker logs:查看容器日志
4.docker rm:删除容器,docker rm -f:强制删除容器

容器后台运行的特点
如果没有永久运行的程序,终端一退出容器就会马上退出
容器永久运行的条件:需要有永久运行的程序,并且使用run -d后台启动容器
启动后台容器:docker run -d centos:7 /bin/bash -c "while true;do echo helloworld; sleep 5; done"
进入后台容器:docker exec -it xxx /bin/bash
后台容器的停止
停止后台容器:docker stop xxx 或者 docker kill xxx
批量删除容器:docker rm -f xxx xxx

进入容器后ctrl+p+q可以退出终端而不关闭容器,也可以直接关闭终端,容器中pid为1的进程只要不被杀死,容器就不会被关闭。

自定义镜像

容器的临时性
1.容器里的操作当容器删除了就没了
2.最好不要把数据存储在容器里

可将宿主机文件挂载到docker中,或者使用docker数据卷操作 参见docker数据卷

Docker自定义镜像
一般自带的镜像无法满足特定的要求,需要基于基础镜像来自定义Docker镜像
Docker镜像制作的两种方法
1.基于Docker Commit制作镜像
2.基于Dockerfile制作镜像,Dockerfile方式为主流制作镜像的方式

Docker Commit

给基础镜像新增ifconfig命令
docker run --name helloworld -it centos /bin/bash
yum install net-tools -y

保存为镜像

docker commit xx(容器名称) myimage:v1.0
docker images

参考51 CTO 2019Docker入门实战视频

标签: docker

评论已关闭