Docker

Docker概述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。通过隔离机制,将服务器用到极致。和传统的虚拟机不同的是,每个人都由自己的lib.
应用更快速的交付和部署,更快的升级和扩容。

Docker中的名词概念

镜像(image)
docker镜像好比一个模板,可以通过这个模板创建容器服务,tomcat镜像==》run==>tomcat01(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)
容器(container)
独立运行一个或者一个组应用,通过镜像创建,启动,停止,删除,基本命令!
仓库(repository)
仓库就是存放镜像的地方,分为公有仓库和私有仓库!

安装

看官网 https://docs.docker.com/engine/install/centos/
注意使用阿里云镜像 ,还要注意更新yum 软件包索引。yum makecache fast
/var/lib默认的安装路径

配置阿里云加速器

在这里插入图片描述

为什么docker比VM更快

1、docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
2、docker利用的是宿主机的内核,而不需要Guest OS。
在这里插入图片描述

Docker的常用命令

常识

docker version
docker info //显示docker的系统信息 包括镜像和容器
docker 命令 --help

镜像命令

docker search mysql --fileter=starts=5000 //搜索大于5000收藏量的东西
docker pull mysql:5.7 //分层下载,就是不下载重复的。
docker rmi -f 镜像ID
docker rmi -f ${docker images -aq}

容器命令

docker pull centos 先下载一个镜像
新建一个容器并启动

docker run image
--name="NAME" 容器名字
-d 后台运行
-it 交互式方式,进入容器查看内容docker run -it centos /bin/bash
-P 指定容器端口 或者 -P ip:主机端口:容器端口
-p 随机指定端口
docker ps 列出当前正在运行的容器 -a的话,会列出历史容器 -n=?显示最近创的容器
 docker rm -f 容器id
 docker start 容器id
 docker stop 容器id
 docker kill 容器id
 docker restart 容器id 

常用命令

docker run -d centos
 容器后台运行,必须要有一个前台进程
 docker logs -ft --tail 10 容器id  日志 -t 时间戳 --tail行数
 docker top 容器iD 查看容器内进程信息
 docker inspect 容器id 查看容器的详细信息
 命令 docker exec -it 容器id /bin/bash 进入容器
 进入容器开启一个新的终端
 docker attach  容器id 
 容器内拷贝文件到主机上
docker cp 容器id:/文件路径 /主机上的路径

练习

安装nginx

docker pull nginx
docker run -d -name nginx01 -p 3333:80 nginx
curl localhost:3333

可视化

portainer
Rancher(CI/CD再用)

Portainer

docker run -d -p 8088:9000
–restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

commit镜像

dockers commit -m=“描述信息” -a=“作者” 容器id 新的容器名字 //用于保存当前容器的状态

容器数据卷

将容器内的目录挂载到linux上
docker run -it -v 主机目录,容器内目录
docker run -it -v /home/test:/home centos /bin/bash
-e是环境配置

具名和匿名挂载

docker容器内的卷,没有指定目录的情况下,都在/var/lib/docker/volumes/XXXXX/_data
匿名挂载 -v容器内路径 -v 卷名:容器内路径 具名挂载 -v /宿主机路径::容器内路径 指定路径挂载
docker volume inspect 卷名
查看卷名的详细信息
docker run -d -P --name nginx2 -v 卷名:/路径 nginx

DockerFIle

创建一个Dockerfile文件 脚本
通过这个脚本可以生成镜像,镜像是一层一层的,脚本是一个个的命令
里边的每个命令,就是镜像的一层
docker build 建成一个镜像
docke run
docker push

Docker网络

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值