docker~linux下的部署,docker~linux部署


docker是最近比较流行的容器工具,它可以帮助我们快速部署应用,尤其是在“微服务”环境下,成百个服务要去启动,停止,部署一次太麻烦,而如果把它部署到docker里,下一次应用就方便多了,如果需要几行代码就搞定了!

百度百科定义

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

 应用场景 

环境管理复杂
从各种OS到各种中间件到各种app, 一款产品能够成功作为开发者需要关心的东西太多,且难于管理,这个问题几乎在所有现代IT相关行业都需要面对。
云计算时代的到来
AWS的成功, 引导开发者将应用转移到 cloud 上, 解决了硬件管理的问题,然而中间件相关的问题依然存在 (所以openstack HEAT和 AWS cloudformation 都着力解决这个问题)。开发者思路变化提供了可能性。
虚拟化手段的变化
cloud 时代采用标配硬件来降低成本,采用虚拟化手段来满足用户按需使用的需求以及保证可用性和隔离性。然而无论是KVM还是Xen在 docker 看来,都在浪费资源,因为用户需要的是高效运行环境而非OS, GuestOS既浪费资源又难于管理, 更加轻量级的LXC更加灵活和快速
LXC的移动性
LXC在 linux 2.6 的 kernel 里就已经存在了,但是其设计之初并非为云计算考虑的,缺少标准化的描述手段和容器的可迁移性,决定其构建出的环境难于迁移和标准化管理(相对于KVM之类image和snapshot的概念)。docker 就在这个问题上做出实质性的革新。这是docker最独特的地方。

在centos上的部署

 

一 安装并添加服务和自启动项

[root@localhost ~]# yum install docker

[root@localhost ~]# systemctl start docker.service

[root@localhost ~]# systemctl enable docker.service

二 docker几个常用的命令

docker ps
令查看容器

docker info
检查Docker的安装是否正确,如果没有找到此命令,则表示Docker没有正确安装

docker pull busybox
拉取一个预建的镜像

sample_job=$(docker run -d busybox /bin/sh -c "while true; do echo Docker; sleep 1; done")
以后台进程的方式运行hello docker
sample_job命令会隔一秒打印一次Docker,使用Docker logs可以查看输出。如果没有起名字,那这个job会被分配一个id,以后使用命令例如Docker logs查看日志会变得比较麻烦。

docker help
所有Docker命令

docker logs $sample_job
运行Docker logs命令来查看job的当前状态:

docker stop $sample_job
停止名为sample_job的容器

docker restart $sample_job
重新启动该容器

docker stop $sample_job docker rm $sample_job
如果要完全移除容器,需要将该容器停止,然后才能移除

docker commit $sample_job job1
将容器的状态保存为镜像

docker images
令查看所有镜像的列表

安装.netCore的镜像

下载dotnet的镜像
sudo docker pull microsoft/dotnet

查看一下这个镜像

sudo docker images

这个过程可以是空的,因为上面的下载速度很慢,毕竟是大老美的服务器,呵呵!

下讲我们将学习如何去部署一个netcore网站在docker里!



 

相关内容

    暂无相关文章