Docker -----Study

1、Docker

docker是基于GO语言实现的云开源项目。

docker主要作用是:对应用组件的封装、分发、部署、运行等生命周期的管理,使应用及其运行环境”一次封装,到处运行“。

解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。

2、Docker三大要素

【1】镜像(image):就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建多个容器。

【2】容器(Container):容器使用镜像创建的运行实例,可以把容器看作是一个简易版的linux环境和运行在其中的应用程序,每个容器都是相互隔离的保证了平台的安全性。

【3】仓库(Repository):是集中存放镜像文件的场所。又分为公开仓库和私有仓库,最大的公开仓库是Docker Hub,国内的仓库有阿里云、网易云等。【仓库注册服务器上存放很多的仓库,每个仓库又包含了多个镜像,每个镜像有不同的标签】。

3、安装docker

CentOS6.8安装:

(1) yum install -y epel-release

(2) yum install -y docker-io

(3)检查是否有该配置文件:/etc/sysconfig/docker

(4)启动docker服务:service docker start

(5)docker version 查看版本

安装过程中可能会出现的问题解决:

https://blog.csdn.net/kdchxue/article/details/50902580

https://blog.csdn.net/liuhailiuhai12/article/details/53560146

4、配置镜像加速(阿里云)

登录阿里云-->控制台-->容器镜像服务

vim /etc/sysconfig/docker文件

重启服务:service docker resatrt

查看是否配置成功:ps -ef|grep docker

5、docker镜像命令

【1】docker images 【options】//查询本机上的所有镜像

options:   -a:列出本地所有镜像(含中间映像层) -q:只显示镜像ID --digests:显示镜像的摘要信息 --no-trunc:显示镜像的完成信息

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

CREATED:镜像的创建时间

VIRTUAL_SIZE:镜像的大小

【2】docker search 【options】 xxx镜像名

-s 数量:列出收藏数不小于指定值的镜像    --no-trunc :显示完整的镜像描述   --automated:只列出automated build类型的镜像

表示从docker hub 查询该镜像

【3】docker pull xxx镜像名   --》下载镜像

【4】删除镜像

删除单个:docker rmi -f  镜像ID

删除多个:docker rmi -f 镜像1ID,镜像2ID......

删除全部:docker rmi -f $(docker images -qa)

6、docker容器命令

【1】新建并启动容器:docker run 【options】 image 

options:

--name :为容器指定一个名称。  

-d:后台运行容器 。  

-i:交互式模式运行容器,通常和-t使用。

-t:为容器分配一个伪输入终端

【2】列如当前所有正在运行的容器:docker ps 【options】

options

-a 列出当前所有正在运行的容器+历史上运行的容器。

-i 显示最近创建的容器

-n 显示最近n个创建的容器

-q 静默模式,只显示容器编号

--no-trunc:不截断输出

【3】退出容器

exit :容器停止并退出

ctrl+p+q 容器不停止退出

【4】启动容器

docker start 容器ID或者容器名

【5】重启容器

docker restart 容器ID或者容器名

【6】停止容器

docker stop 容器ID或者容器名

【7】强制停止容器

docker kill 容器ID或者容器名

【8】删除已停止的容器

docker rm 容器ID或者容器名

【9】删除多个容器

docker rm -f $(docker ps -a -q)

docker ps -a -q | xargs docker rm

【10】查看容器日志

docker logs -f -t -tail 容器ID

-t:加入时间

-f:跟随最新的日志打印

--tail 数字,显示最后多少条

【11】查看容器内部细节

docker inspect 容器ID

【12】进入正在运行的容器并以命令交互

docker exec -it  容器ID 【可在容器外执行命令并退出容器 也可进入容器里面操作】

docker attach 容器ID  进入容器

【13】从容器内拷贝文件到宿主主机上

docker cp 容器ID:容器内部文件  目的主机路径

7、镜像详解

镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行软件的所有内容。

8、复制镜像称为一个新的镜像

docker commit -a="作者" -m="提交的信息" 容器ID    目标镜像名:[标签]

9、容器数据卷

容器数据卷用来持久化保存容器数据,并且还可实现宿主机和容器的资源共享。

【1】使用命令来完成资源共享

docker run -it -v /宿主机路径目录 :/容器内目录   镜像名

容器停止退出后,主机修改数据后一样可以同步

【2】使用DockerFile添加

(1)在宿主机新建mydocker文件夹并进入

(2)创建dockerfile文件,并编写

(3)build 构建一个新的镜像

(4)运行镜像

(5)查看对应宿主机的数据卷

(6)测试数据卷数据共享

10、容器间传递数(--volumes-from)

 

berserk_goodall与dc02容器中的数据卷内容可以相互传递共享。比如在berserk_goodall容器卷中创建一个文件,dco2容器中也会自动生成相同的文件。

11、Docker File

docker file 是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本文件。

12、Docker File保留字

FROM :基础镜像,当前镜像是基于哪个镜像的

MAINTAINER:镜像维护者的姓名和邮箱地址

RUN:容器构建是需要执行的命令

EXPOSE:当前容器对外暴露出的端口号

WORKDIR:指定创建容器后,终端默认登录进来的工作目录

ENV:用来构建镜像过程中设置的环境变量

ADD:将宿主机目录下文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包

COPY:类似ADD,拷贝文件和目录到镜像中

VOLUME:容器数据卷,用来将数据保存和持久化工作

CMD:指定一个容器启动是要运行的命令(DockerFile中可以有多个命令,但是只有最后一个生效)

ENTRYPOINT:与CMD一样,都是在指定容器启动程序及参数(多个不会覆盖之前的,等同于追加)

ONBUILD:父镜像在被子镜像继承后父镜像的onbuild被触发。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值