容器云及其使用


一、Docker的简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的LinuxWindows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

以下是关于Docker的思维导图:


二、Docker组成部分

一个完整的Docker有以下几个部分组成:

    DockerClient客户端
    Docker Daemon守护进程
    Docker Image镜像
    DockerContainer容器


三、Docker的使用

1.容器的使用

在运行容器之前要处理好镜像问题

(1)运行容器
运行第一个容器,执行以下命令。

[root@master~]# docker run-it--rm-d-p 80:80 nginxlatest
5d42a9fafeb60064d3d9f764de57d2eb2b51f58b1d7blc37020674c1bc08e4bb


参数说明:
-i:交互式操作。
-t:终端。
-rm:容器退出后随之将其删除,可以避免浪费空间。
-p:端口映射。
●-d:容器在后台运行。
其过程可以简单的描述为:
①下载Nginx镜像。
②启动容器,并将容器的80端口映射到宿主机的80端口。
当使用dockerrun来创建容器时,Docker在后台运行的标准流程如下:
①检查本地是否存在指定的镜像,不存在就从公有仓库下载。
②利用镜像创建并启动一个容器。
③分配一个文件系统,并在只读的镜像层外面挂载一层可读写层。
④从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去。
⑤从地址池配置一个IP地址给容器。
⑥执行用户指定的应用程序。
接下来可以通过浏览器验证容器是否正常工作。在浏览器中输入地址http//hostIP验证

启动容器的语法如下:
# docker start[CONTAINERID
例如,启动所有的Docker容器:
# docker start $(docker ps -aq)

(2)操作容器
列出运行中的容器。
# docker ps
# docker container ls
列出所有容器(包含终止状态)。
# docker ps -a
查看具体容器的信息。

# docker inspect [container ID or NAMEST

查看容器的使用资源状况。
# docker stats [container ID or NAMES
查看容器日志。
# docker logs [OPTIONS][container ID or NAMES
OPTIONS 说明:
--details:显示更多的信息。
-f--follow:跟踪实时日志。
--sincestring:显示自某个timestamp之后的日志,或相对时间,如 42分钟。
--tailstring:从日志末尾显示多少行日志,默认是all。
-t,--timestamps:显示时间戳。
--untilstring:显示自某个timestamp之前的日志,或相对时间,如42分钟。
进入容器。
# docker exec-it[CONTAINER ID] bash
进入容器后,输入exit或者按Crtl+C键即可退出容器,示例代码如下:
[root@master~]#docker exec-it 5d42a9fafeb6 bash
root@5d42a9fafeb6:/#exit
exit

(3)终止容器
删除终止状态的容器。
# docker rm[CONTAINER ID]
删除所有处于终止状态的容器。
# docker container prune
删除未被使用的数据卷。
# docker volume prune
删除运行中的容器。
# docker rm-f[CONTAINER ID]
批量停止所有的容器。
# docker stop $(docker ps-aq)
批量删除所有的容器。

# docker rm $(docker ps -aq)
终止容器进程,容器进入终止状态。
# docker container stop[CONTAINER ID(4)导入/导出容器
将容器快照导出为本地文件,语法如下:
# docker export[CONTAINER ID]>[tar file]
例如:
root@master~]# docker export 5d42a9fafeb6>nginx.tar
[root@master~]# 11
total 125320
-rw-r--r--1 root root 128326656 0ct 31 01:24 nginx.tar
同样的,也可以把容器快照文件再导入为镜像,语法如下,
# cat [tar file]| docker import-[name:tag
例如:

[root@master~]# cat nginx.tardocker import-nginxtest
sha256:c1668cd482c7e86a231f718d673c2c4a293ad75ea49ac3f3f4b75dfee42b3e2f
[root@master~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE 
nginx test c1668cd482c7 3 seconds ago 125MB 
nginx latest 540a289bab6c 8 days ago 126MB 

使用dockerimport命令导入一个容器快照到本地镜像库时,将丢弃所有的历史记录和
元数据信息,即仅保存容器当时的快照状态。

2.实例

查看镜像列表:

 使用版本为2.2.31的http镜像来运行容器:

强制删除本地镜像swarm :

查看运行中的容器:

 查看所有的容器

 

 进入容器的两种方法(使用版本为2.2.31的http镜像来运行容器):

 使用镜像(busybox镜像)创建一个临时的容器:

 使用镜像(busybox镜像)创建一个一直后台运行的容器:

暂停httpd:2.2.32运行中的容器:

开启httpd:2.2.32运行中的容器 :

 重启httpd:2.2.32运行中的容器:

 创建一个nginx的容器,设置这个容器的参数,当容器因某种错误而停止运行时,能自动重启:

 恢复暂停httpd:2.2.32运行中的容器:

 删除某一个已经不运行的容器:

 批量删除所有已经退出的容器:

参考图片:以上图片均为博主本人进行的实验

参考文档:百度

有什么问题欢迎提出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值