docker基础(1)

一、docker基础

Docker容器的特点

  • Docker主要是为了解决应用的库依赖和隔离应用

  • Docker相对于虚拟机比较轻量,易管理

Doker和虚拟化区别

doker是上层和宿主机使用同一套硬件,与宿主机使用同一个内核,仅在应用层实现了隔离。

虚拟化里面的虚拟机,CPU和内存、硬盘等都是虚拟的,并不是和宿主机使用同一套硬件。

centos7安装docer

//安装
yum remove docker-common
cd /etc/yum.repos.d/
wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
systemctl enable docker
systemctl restart docker
docker version
docker info

//卸载
yum remove docker -y
\rm -rf /var/lib/docker/

Docker镜像的分类

  1. 基础镜像,可以去docker.io上下载,也可以在国内的Docker仓库下载

  2. 自定义镜像,可以基于基础镜像实现镜像的自定义

Docker镜像的相关命令

//查看镜像,刚安装完是空的
docker images

//搜索与centos相关的镜像
docker search centos

//下载一个centos7的镜像,速度很慢,因为在国外,不用这种方式下载
docker pull centos:7

//Docker仓库的配置/etc/docker/daemon.json,重启Docker
{
 "registry-mirrors": ["http://hub-mirror.c.163.com/"]
}

//重启docker
systemctl restart docker

//使用163的源进行下载
docker pull hub-mirror.c.163.com/library/centos:7
systemctl restart docker

//再次查看,发现多了一个镜像

镜像导出备份,删除和导入

重命名: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容器概念

  1. 可以使用镜像生成对应运行的容器,一个镜像可以生成多个容器

  2. Centos7镜像生成的容器系统是Centos7,Ubuntu镜像生成的容器系统是Ubuntu的

容器说明

容器里的系统跟宿主系统是独立的

容器的删除、崩溃等不会影响到宿主系统

使用Centos7镜像启动容器

docker run -it centos:7 /bin/bash   #i表示交互式,t表示打开一个Shell窗口,会进入一个全新的系统

宿主机上查看容器的相关操作

docker ps:查看运行的容器,类似ifconfig
docker ps -a:查看所有容器,类似ifconfig -a

docker inspect eafaf794e11d:查看容器详细信息

docker logs eafaf794e11d:查看容器日志

//正在运行的容器无法删除,除非是在是处于停止(exited)状态的容器
docker rm eafaf794e11d:删除容器
docker rm -f eafaf794e11d :强制删除容器

容器后台运行的特点

如果没有永久运行的程序,终端一退出容器就会马上退出。

容器永久运行的条件:需要有永久运行的程序,并且使用run -d后台启动容器。

怎么样启动一个永久运行的容器

//启动后台容器,docker log ID,就能查看到对外输出的
docker run -d centos:7 /bin/bash -c "while true;do echo zhanghe; sleep 5; done"
//查看日志
[root@doker ~]# docker logs 2e8
zhanghe
zhanghe
zhanghe

进入后台容器:docker exec -it ID /bin/bash

后台容器的停止

停止后台容器:docker stop ID 或者 docker kill ID

启动容器:docker start ID

删除容器:docker rm ID

批量删除容器:docker rm -f ID1 ID2

猜你喜欢

转载自www.cnblogs.com/yizhangheka/p/12197522.html