【学习笔记】Docker 篇

1、什么是docker:

 一种轻量级、可移植、自包含的软件打包技术,将环境与应用程序一起打包,可部署到不同地方以相同的方式运行。

2、docker一些重要定义

镜像(image):类似于虚拟机中的镜像,是一个包含有文件系统的面向docker引擎的只读模板。任何应用程序运行都需要环境一个Ubuntu镜像就是一个包含Ubuntu操作系统的模板,同理,载镜像中安装Apache软件,即可称为Apache镜像。

容器(container):类似于一个轻量级沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、停止、删除容器、各个容器间相互隔离,互不影响。注意:镜像本身是可读的,容器镜像启动时,docker镜像载上层创建一个可写层,镜像本身不变。

远程仓库(Repositorty):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注册服务器(Registry)是存放仓库的地方,一般会有多个仓库,仓库是存放镜像的地方,每个镜像根据tag进行区分。

3、常用的Docker命令:

#  docker search   centos    //从配置的远程仓库中查找指定镜像
#  docker  pull   centos    //拉取镜像,未指定tag 则默认拉取lasted
#  docker  images              //获取当前系统中的镜像信息
#  docker   rmi   centos      //删除镜像
3.1 执行镜像
# docker  run  [可选参数] image 
# docker  ps   //查看运行中的容器

可选参数:

-- name = "Name": 容器名称,可根据同一镜像生成多个容器

-e  : 指定环境变量

-d :后台守护进程运行

-it : 以交互方式运行  进入容器中一个命令执行窗口

-p :指定容器端口

      格式1:-p :主机端口:容器端口  生成映射关系

      格式2:-p:    容器端口 

-P :  随机指定端口

-v :  格式: 容器中位置:宿主机中存放位置,  

3.2 容器启动与停止:
# docker   start  容器    //启动容器
#docker  restart   容器  // 重启容器
# docker  stop    容器    //停止容器
# docker   kill   容器       //强制杀死容器
3.3  容器中文件拷贝
#  docker  cp   容器id : 容器内文件路径     宿主机文件路径
3.4   查看容器日志
 docker  log   -ft    -- tial  10   容器id

-f  :格式化日志

-t :携带日志时间戳

4、 Dockerfile 

4.1 docker file  保留关键字:
  • FROM  : 基础镜像

  • MAINTAINER :  作者名字

  • RUN : 构建镜像的命令

  • ADD:生成镜像需要添加的文件

  • WORKDIR : 镜像工作目录

  • VOLUME:  挂载目录

  • EXPOSE : 暴露的端口

  • CMD  :  容器启动时执行的命令

  • ENTRYPOINT : 启动容器时执行的命令(追加)

  • ONBUILD: 当前镜像被继承时执行的命令

  • ENV : 构建时需要输入的环境变量

 # docker   build  -f   dockerfile路径  -t   生成镜像名称   .

5、Docker 自定义网络

# docker  network   ls//查看网络模式
5.1、网络模式
  • bridge : 桥接模式

  • host :与宿主机使用相同网络模式

  • none  :不配置网络

  • container:容器网络

5.2、自定义网络格式

#  docker    network    create   [可选项]     自定义网络名称

--driver : 网络模式

--subnet : 子网掩码

 --gateway :网关

实践:

查看镜像:
docker  images

查看容器:
docker  ps   
docker  ps -a 

进入容器:
docker  exec -it  容器id   /bin/bash

启动容器 :
docker  run      --name  容器名   -d   -p   外部端口:容器端口   --restart=always   -v  文件挂载     镜像:版本
--name: 命名容器
-d  守护进程
-v  文件挂载
-p  端口映射
--restar :重启


docker 打包:
docker  build  -f  dockerfile文件 -t  镜像:版本    ./
最后有个点 ( .  ) 或者 ( ./ )  d

6、总结

Docker 是基于容器的平台,允许高可移植的负载,完成动态工作管理。借助docker技术 我们可以快速构建出一个与生产环境相同的方式管理项目架构,通过docker 完成快速交付、测试、部署代码。减少代码在生产环境和编写代码过程中出现不同的问题。且相当于传统的虚拟机管理程序,更加便捷,经济、高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值