Docker 容器化部署实践--入门

网友投稿 239 2022-10-22

Docker 容器化部署实践--入门

前面的文章给大家分享了「​​Python web开发从入门到放弃​​」其中提到了开发部署的事宜。由于有很多同学咨询,为了让大家更好的理解,所以打算把容器化部署作为一个系列来阐述,今天给大家简单讲下Docker入门使用,欢迎大家进行持续关注。

Docker是基于Go语言实现的开源容器项目,从2013年诞生就引起了业界广泛的关注,它是一种新的容器技术对比传统的LXC(Linux Container)技术。

Docker理念是实现「Build,Ship and Run Any App Anywhere」,达到类似JAVA「一次封装,处处运行」的目的。通过Docker我们可以为应用的开发,测试,部署,进行一站式处理。

作为现在云计算最火的技术,Docker拥有非常多的优点:

简单容易上手解决运维环境和服务调度问题低CPU内存资源占用云计算核心技术社区活跃

下面我们简单介绍一下Docker的安装使用

Docker安装

Docker目前只能运行在64位平台上,我记得当初团队两年前团队服务器用不了Docker估计就是这个原因。

安装我们可以手动安装或者脚本进行安装,这里我们使用脚本进行安装。

Ubuntu Linux安装:

sudo curl -sSL | sh # 官方安装sudo curl -sSL | sh # 安装速度快,二选一sudo service docker start

Mac OS安装就直接下载Docker for Mac就好了,这里就不进行演示了。​​usermod -aG docker USER_NAME

Docker的基本概念

安装好了,我们也是时候讲下基本概念了:

Docker镜像(image): 类似一个只读模板,镜像是创造Docker 容器(container)基础。

Docker容器(container): 是一个沙箱环境,这个环境就是mini的Linux系统,我们主要利用容器来运行隔离不同应用。

Docker仓库(repository):这个类似我们版本的代码仓库,如Github或Bitbucket,集中存放镜像文件的地方。

一个仓库往往放了多个镜像文件,主要通过标签(tag)来进行区分。为了速度和安全性我们往往都建立自己的镜像私有仓库。

仓库,标签这些操作,熟悉Git的同学可以看到Docker与之非常相似,上手起来非常容易。

Docker 常用命令

讲完概念,我们说一下Docker的常见命令。

docker pull ubuntu:16.04 # 拉群镜像冒号后面是标签tag,不指定默认latest,强烈建议加上docker images # 列出本地已经有的镜像,注意image id很重要docker tag ubuntu:16.04 myubuntu:product # 给镜像添加新标签,类似链接作用docker inspect myubuntu:product # 获取镜像详细信息docker rmi myubuntu:product # 这里删除可以用image iddocker run ubuntu:16.04 /bin/bash -c "while true; do echo 1; sleep 1; done" # 启动容器 容器ID(dd06064bf6c0)docker stop dd06064bf6c0 # 停止容器 dd06064bf6c0为容器IDdocker exec -it 292586a3883f bash # 进入容器docker rm 292586a3883f 删除容器docker ps -a # 查看所有容器

这里我们说一下创建新镜像:

docker run -it ubuntu:16.04 bash # 1. 启动镜像root@42e296cc9587:/# touch 123.txt docker commit -m "add 123.txt" 42e296cc9587 ubuntu:test123sha256:99db484eac429a6413977903653396c226dcc9917346417e4153ea322dc6a5d0docker push hub.yourdomain.com/ubuntu:test123 # 推送镜像到仓库

我们可以看下效果

命令其实有很多,比如docker import/save/laod这里面我就不过多说了,更多命令我们可以使用​​docker -h​​操作,常用命令介绍我们就讲到这儿。

容器化部署实践,我打算从基础操作到实战应用以一个系列进行分享,今天是第一篇入门,后期我将持续分享更多相关内容,从容器化入门使用到部署实践编排技术,欢迎大家持续进行关注。

相关文章:

​​Python web开发从入门到放弃​​

​​聊聊软件开发的代码审查​​

​​【私货】MongoDB 副本集的运维部署​​

​​Redis Sentinel高可用架构​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Docker容器化部署实践Docker Compose
下一篇:mybatis plus自动生成器解析(及遇到的坑)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~