Docker

Docker是什么?

docker 是一种容器技术,作用是用来快速部署服务,应用打包工具。

(Kubernetes)k8s和docker

Kubernetes (k8s):自动化部署的工具,集群部署 管理docker 负载均衡
Docker:多服务

Docker应用场景

  • 项目环境部署
    将Docker作为本地Web开发环境,可以保证开发运行与生产环境的配置、部署、依赖等一致,避免后续运维相关的问题。容器化部署,网上制作好的镜像,直接下载下来,只要映射下端口和程序文件夹,直接就能使用了。
  • Web 应用的自动化打包和发布。

一个完整的Docker组成:

DockerClient 客户端
Docker Daemon 守护进程
Docker Image 镜像
DockerContainer 容器
service docker start //启动 Docker 后台服务

仓库

仓库又分为公有仓库(public)和私有仓库(private)
使用registry镜像来创建私有仓库:docker pull registry
Docker Hub(官方)
aliyun(国内)

镜像

docker search .. //搜索镜像
docker pull .. //获取镜像
docker push muname/whalesay //上传镜像
docker images //列出镜像
docker rmi .. //用来删除指定镜像, 其中后面的参数可以是tag,如果是tag时,实际上是删除该tag,只要该镜像还有其他tag,就不会删除该镜像。当后面的参数为镜像ID时,则会彻底删除整个镜像,连通所有标签一同删除
docker build .. //创建image,推荐使用docker build 命令和Dockerfile文件构建镜像

容器

简单来说容器是一个镜像的实例(类与对象)

docker create -it {image_name} //创建容器,docker create命令新建的容器处于停止状态,可以使用docker start命令来启动它。 docker start {container_id} //启动容器
新建并启动容器:docker run -t -i centos /bin/bash
docker run //运行container docker run -p 8080:80 -d docker.io/nginx
docker run –it –name myphp php:7.2.0-cli-alpine3.6 //-it 交互式方式进入容器
docker ps //查看正在运行的容器
docker ps –a//查看已经退出的容器
docker rm //删除container(删除容器时,容器必须是停止状态,否则会报错)
docker stop (CONTAINER ID) //停止container
docker cp //在host和container之间拷贝文件
docker commit //保存改动为新的image
进入容器的(推荐方式):exec命令
docker exec -it mynginx /bin/bash
进入容器后,定制个性化容器 比如需要安装httpd服务
将容器做成镜像:
回到宿主机器,docker commit -a "镜像作者" -m "说明文字" 容器名称或id
docker push muname/whalesay //上传镜像

Dockerfile 是为了快速构建镜像

Dockerfile由一行行命令语句组成,并且支持以#开头的注释行。
一般而言,Dockerfile分为4个部分:基础镜像信息、维护者信息、镜像操作指令、容器启动时执行指令

镜像分层——使得镜像的规模变小了很多

Dockerfile中的每一行都产生一个新层

Volume 存储——提供独立于容器之外的持久化存储

docker run –v /usr/share/nginx/html nginx
docker run –v $PWD/code:/var/www/html nginx 本地文件(docker run –volumes-from … //从另外一个容器挂载

docker的单主机网络

Docker 安装时会自动在host上创建三个网络,查看local的网络信息: docker network ls

docker-compose

docker-compose 是用来做docker 的多容器控制,把 docker 自动化
Dockerfile模板文件,可以让用户很方便地定义一个单独的应用容器。然而在日常工作中,经常会遇到需要多个容器相互配合来完成某项任务的情况。例如要实现一个web项目,除了web服务器容器本身,往往还需要加上后端的数据库服务容器,甚至还包括负载均衡容器等。
而Compose正好可以满足这样的需求,docker compose项目允许用户通过一个单独的 docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。它可以方便地对一组docker容器的生命周期进行管理。
https://docs.docker.com/compose/compose-file/
自动构建容器: docker-compose up –d
查看 容器的状态:docker-compose ps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值