Docker1——原理和基础命令

类似集装箱的机制,可以将应用以及依赖包打包到一个容器中,然后发布到任何流行的Linux机器上,实现虚拟化
Docker容器是完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言,框架或系统。
Docker1——原理和基础命令_第1张图片
Docker1——原理和基础命令_第2张图片
可以看到
1.Docker有比虚拟机更少的抽象层
2.docker利用的是宿主机的内核,而虚拟机需要Guest OS
所以,当新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统的内核。虚拟机需要加载Guest OS,这个过程是分钟级别的,而docker是利用宿主机的操作系统(Host OS),省略了重新加载内核的开销,秒级!

在window上面安装Docker的话,会给出一个教程,讲述docker运行过程

1.clone
在这里插入图片描述

docker run --name repo alpine/git clone http://github.com/docker/getting-strated.git
###啥意思?
docker cp repo:/git/getting-strated/ .
### 

2.build
在这里插入图片描述

cd getting-started
###打开这个目录
docker build -t docker101tutorial .
###用这个目录下的 Dockerfile 构建出一个镜像?应该是的

这个目录下面有这些东西
Docker1——原理和基础命令_第3张图片
3.run
在这里插入图片描述

docker run -d -p 80:80 --name docker-tutorial docker101tutorial
### 使用当前目录的Dockerfile创建镜像  标签为runoob/ubuntu:v1
### docker build -t runoob/ubuntu:v1 . 

run之后的流程:

Docker1——原理和基础命令_第4张图片

4.share
在这里插入图片描述

docker tag docker101tutorial pkapkaever/docker101tutorial
### 标记为这个 docker101tutorial
docker push pkapkaever/docker101tutorial
### 推送到我的 dockerhub中

Docker的常用命令

docker version
#查看dicker版本信息
docker info
#查看docker系统信息,包括镜像和容器的数量
docker [命令] --help
#帮助命令

可以看到docker info之后,显示了服务器的信息 容器输了和镜像(image)数量以及他们的运行情况
Docker1——原理和基础命令_第5张图片可以查询docker文档

镜像命令

docker images
#查看所有镜像

Docker1——原理和基础命令_第6张图片
因为我下载的是window Desktop Docker,有图形界面直接可以点击image
Docker1——原理和基础命令_第7张图片可以看到里面有三个镜像(可以理解为 不同的镜像 image(环境版本)相当于一个class类,而容器 container 相当于实例化了的一个对象
那么这些镜像从哪里来的呢?
就是从DockerHub中,DockerHub相当于一个商店
Docker1——原理和基础命令_第8张图片我们可以在DockerHub搜索这些镜像,比如ubuntu
也可以用命令行去搜索 !(window用户可以直接在cmd里面使用docker命令!超级方便!)

docker search ubuntu
#相当于在DockerHub上搜索ubuntu

Docker1——原理和基础命令_第9张图片

docker pull ubuntu#后面是镜像名称哈
#下载镜像 默认最新版

Docker1——原理和基础命令_第10张图片在下载镜像的时候可以看到,docker是分层下载的,在下载mysql5.7时,由于之前下载mysql latest版本,已经下载过一些层了。所以有Already exists。这些镜像下载过的层可以共用,极大节省了内存!

docker rmi -f ${IMAGE ID}
#删除指定的镜像

在window下,这个很好操作
Docker1——原理和基础命令_第11张图片
直接按小垃圾桶删除就行

docker rmi -f $(docker images -aq)
#可以递归删除(将查询到的images 的ID作为参数传入)

Docker1——原理和基础命令_第12张图片
容器命令

说明:有了镜像才能创建容器。

docker pull centos
#使用docker来拉取centos镜像

新建容器并启动

docker run [可选参数] image

#参数说明
--name="Name" 容器名称
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器端口 -p 8080:8080
		-p 主机端口:容器端口  (常用的)
		-p 容器端口
		容器端口
#测试,启动并进入容器
docker run -it centos /bin/bash
#容器内就是自己的一个环境
exit
#退出容器

列出所有运行的容器

docker ps

Docker1——原理和基础命令_第13张图片

退出容器
Docker1——原理和基础命令_第14张图片
删除容器
在这里插入图片描述启动和停止容器的操作
Docker1——原理和基础命令_第15张图片
常用的其他命令
Docker1——原理和基础命令_第16张图片
Docker1——原理和基础命令_第17张图片Docker1——原理和基础命令_第18张图片查看镜像的元数据

docker inspect 容器ID

进入当前正在运行的容器

Docker1——原理和基础命令_第19张图片将文件内容拷贝到主机上
因为容器是不互通的
所以如果希望将容器内的东西拷贝到主机上可以使用`

docker cp 容器id:文件目录 主机目标目录

Docker1——原理和基础命令_第20张图片利用数据卷 可以实现容器与主机同步
小结
Docker1——原理和基础命令_第21张图片

你可能感兴趣的:(docker,git,运维)