赞
踩
目录
是一种虚拟化技术,容器是完全使用沙箱机制,相互之间不会有任何接口(虚拟化技术:在计算机中用于管理虚拟资源的一种手段)
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
快速响应,秒级启动
安装各种各样测试需要的软件,通过镜像比较方便
搭建测试环境
使用简单
消耗资源少,用最少的资源搭建最多的环境
可移植性强
项目环境部署
自动化项目的部署
微服务架构项目部署、迁移
c/s架构的程序:命令监听文件、通讯文件
镜像:docker的灵魂,类似于安装包
容器:通过镜像创建的应用
镜像仓库:docker hub
架构不一样
docker没有虚拟化内核,直接使用宿主机的内核
例:不能用做服务端的兼容,对于内核的兼容,比如centos、ubuntu是否兼容等
docker秒级启动,更能减少资源的开销
namesapce: docker引擎采用命名空间技术,为容器之间创建隔离层,为每一个容器定义一套不同的命名空间,通过命名空间访问容器每一部分,这就使得容器间相互隔离。
Cgroup :隔离资源,采用命名空间,能够将容器隔离,因此容器在使用设备(称为子系统)时,也是按照各容器独立使用,因此多个容器对设备的使用应是互斥的,具有抢占性质,所以需要统一的策略维护容器对子系统的使用。Control group (cgroup)限制应用程序使用指定的设备资源。docker engine可使用cgroup 使容器共享使用子系统资源,同时,也可约束或者限制容器使用特定资源,例如仅限制某个容器所占内存大小。
Union File Systems:联合文件系统,隔离文件系统
0、拉取镜像地址:
1、拉取镜像
docker pull 镜像名称:版本号
如:
docker pull jenkins:2.60.3-alpine
jenkins:镜像名称
2.60.3-alpine:版本号,如果不写版本号,就默认拉取最后一个版本
2、查看镜像
docker images
查看镜像的所有信息:
docker images inspect 镜像名
3、删除镜像(如果镜像已经创建了容器则无法删除)
- #单个镜像删除
-
- docker rmi jenkins:2.60.3-alpine
-
- #强制删除(删除正在运行的镜像,注:以后台方式运行的不能被强制删除)
-
- docker rmi -f java
-
- #多个镜像删除,不同镜像间以空格间隔
-
- docker rmi -f java tomcat nginx
-
- #删除本地全部镜像
-
- docker rmi -f $(docker images -q)
1、查看容器
# 查看正在运行的容器
docker ps
# 查看所有容 包括停止的容器
docker ps -a
2、创建容器
常用参数:
-t 参数让Docker分配一个伪终端并绑定到容器的标准输入上
-i 参数则让容器的标准输入保持打开。
-c 参数用于给运行的容器分配cpu的shares值
-m 参数用于限制为容器的内存信息,以 B、K、M、G 为单位
-v 参数用于挂载一个volume,可以用多个-v参数同时挂载多个volume
-p 参数用于将容器的端口暴露给宿主机端口 格式:host_port:container_port 或者 host_ip:host_port:container_port
--name 容器名称
--net 容器使用的网络
-d 创建一个后台运行容器
#交互式创建容器:创建后可以进入容器
参数:
-i 以交互模式运行容器;
-t 为容器重新分配一个伪输入终端(进入命令行);
--name 为容器指定一个名称
特点:如果退出容器,容器会自动停止掉
docker run -i -t --name mycentos 镜像名称/镜像ID
docker run -it --name python /bash/sh
#守护式创建容器:创建后后台运行就可以
参数:
-d 已守护方式启动容器
特点:
退出容器之后,容器不会自动退出
docker run -d mycentos
3、进入容器
# 进入已经运行的容器
docker exec -it 名称 /bin/sh
4、启动容器
docker start 容器id
5、重启容器
docker restart 容器id
6、 关闭容器
docker kill 容器id
docker stop 容器id
7、查看最后启动的容器
docker ps -l
8、文件拷贝(容器运行、停止状态都可以使用)
本地拷贝到容器:
docker cp 文件名称获取目录 容器名称:容器目录
容器拷贝的本地:
docker cp 容器名称:容器目录 文件名称获取目录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。