玖叶教程网

前端编程开发入门

JAVA互联网架构-Docker常用命令的使用

概述

Dubbo是什么?

Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

其核心部分包含:

  • 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。

  • 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。

  • 自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。

Dubbo能做什么?

  • 透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。

  • 软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。

  • 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。

Dubbo 简介

因为工作中需要将服务容器化,所以最近开始学习Docker相关的知识,对于Docker入门常用的命令总结如下:

1. 运行容器

$ sudo docker run -i -t ubuntu /bin/bash1
-i 标志保证容器中的STDIN是开启的
-t 标志告诉Docker为要创建的容器分配一个伪tty终端
ubuntu 表示我们创建容器使用的镜像
/bin/bash 表示当容器创建完成之后,Docker就会执行容器中的/bin/bash命令

2. 给容器命名

$ sudo docker run --name my_container -i -t ubuntu /bin/bash1
--name为容器指定一个名称,使用指定的容器名称比使用容器ID更方便。

3. 重新启动已停止的容器

#使用容器ID启动容器$ sudo docker start f5a9f05f4214#使用容器名称启动容器$ sudo docker start my_container
$ sudo docker restart my_container12345
除了容器ID,我们还可以使用容器名称来运行容器,也可以用`docker restart`命令来重新启动一个容器,运行以上命令,使用`sudo docker ps`就可以看到我们的容器已经开始运行了。

4. 附着到容器上

$ sudo docker attach my_container1
Docker容器重新启动的时候,会沿用`docker run`命令时制定的参数来运行,因此我们的容器重新启动后会运行一个交互式的shell,此外可以用`docker attach`命令重新附着到该容器的会话上。
运行命令之后可以需要按下回车键才能进入该会话,如果退出容器的shell,容器会再次停止运行。

5. 创建守护式容器

$ sudo docker run --name my_container -d ubuntu /bin/bash1
-d 标志Docker会将容器放到后台运行
`docker exec`命令会在容器内部额外启动新进程,可以在容器内运行的进程有两种类型:后台任务和交互式任务。
#在容器中运行后台任务$ sudo docker exec -d my_container touch /etc/new_config_file#在容器内运行交互式任务$ sudo docker exec -t -i my_container /bin/bash1234

6.停止守护式容器

#通过容器名称停止正在运行的容器$ sudo docker stop my_container#通过容器ID停止正在运行的容器$ sudo docker stop f5a9f05f4214#停止容器进程$ sudo docker kill f5a9f05f4214123456
如果想快速停止某个容器,使用`docker kill`命令在向容器发送停止信号。

7.自动重启容器

$ sudo docker run --restart=always --name my_container -d ubuntu /bin/bash1
--restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。
--restart的参数说明
always:无论容器的退出代码是什么,Docker都会自动重启该容器。
on-failure:只有当容器的退出代码为非0值的时候才会自动重启。另外,该参数还接受一个可选的重启次数参数,`--restart=on-fialure:5`表示当容器退出代码为非0时,Docker会尝试自动重启该容器,最多5次。

8. 删除容器

#根据容器标识删除容器$ sudo docker rm my_container
$ sudo docker rm f5a9f05f4214123
如果容器已经不再使用,可以使用`docker rm`命令来删除他们,也可以通过给`docker rm`传递-f标志来删除运行中的Docker容器(Docker 1.6.2+)。
#删除所有容器$ sudo docker rm `docker ps -a -q`12
`docker ps`命令会列出现有的全部正在运行的容器信息
-a 标志代表列出所有容器,包括运行的和已经停止的
-q 标志表示只需要返回容器的ID而不会返回容器的其他信息

9. 查看容器信息

#查看容器信息$ sudo docker ps#通过docker inspect来获得更详细的容器信息$ sudo docker inspect my_container

docker运用场景:

web应用的自动化打包和发布;

自动化测试和持续集成、发布;

在服务型环境中部署和调整数据库或其他的后台应用;

从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

可以看出来docker其实就是使得部署,发布变得更加快捷,更加自动化,且适应云平台环境.再看定义:

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、

OpenStack 集群和其他的基础应用平台。

意思很明显了.按照我的理解,先不考虑docker的实现方式,其实docker就是一个包含运行环境的应用,由于自身带有所有需要的运行环境促成了他的可移植性和快速部署.

docker应用环境的集成是通过一层一层的镜像叠加实现的,这种方式可以使得底层镜像多次复用,结构清晰.这里不赘述docker的具体实现原理,实战过后想来都会有一些理解.

以上是对Docker基本命令使用总结,分享给大家,希望大家可以了解什么是Docker基本命令使用。觉得收获的话可以点个关注收藏转发一波喔,谢谢大佬们支持。(吹一波,233~~)

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言