docker是个什么玩意?别和我扯什么容器、镜像、仓库,它就是一个软件,和安装mysql,nginx没什么区别,通常在linux上安装这些东西大家都喜欢用yum install,本文以centos7为例,使用docker发布一个应用程序。

安装步骤在官网已经说的很清楚了,就是一顿yum,然后启动docker,下面简单copy总结下,如果不生效,那肯定是本文写错了,请继续前往官网查明真相。

sudo yum install -y yum-utils
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
$yum install -y docker-ce
$systemctl start docker-ce
----

好了,以上就安装好docker了。那docker可以干什么呢,大家都用过虚拟机,docker就是一个类似虚拟机的容器,在虚拟机里安装的东西都可以在docker容器里安装,但是docker相比于虚拟机更更轻便,看图便知。

显然docker容器对比虚拟机少了操作系统,虚拟机有自己的操作系统,应用软件是安装在操作系统之上的。而基于docker,应用软件可以安装在docker创建的容器中。宏观看来,docker容器可以看作一个虚拟机,就这样。

docker使用上有点类似maven,docker有自己的中央仓库docker hub,仓库里是已发布的应用程序安装包,想要获取某个应用安装包,需要先将安装包拉取到本地,视为本地image镜像,有了image就可以通过image创建应用程序了。这里的image是很强大的,它本身屏蔽了许多安装的细节。

----

下面以docker安装nginx为例,看下在docker中启动一个nginx是多么的简单,读者可以自行思考在虚拟机安装nginx需要的步骤。

docker run -p 80:80 nginx

这里直接使用docker启动nginx,倘若没有镜像文件,docker会自行去远程仓库拉取,执行效果如下:

nginx已经启动,可以在浏览器80端口正常访问。同理可以拉取java:8,只需pull一下:docker pull java:8。----

下面以springboot2项目jar包为例,通过docker启动自定义应用,操作步骤类似maven编写pom文件并打包,这里需要编写Dockerfile文件。

FROM java:8
ADD demo.jar /demo.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/demo.jar"]

写好了Dockerfile使用docker build一下即可发布镜像,有了镜像就可以在docker容器中启动应用程序,最后使用curl简单测试一下。

docker build -t demo .
docker run -p 9000:8080 demo
curl http://localhost:9000/demo
springboot项目运行正常,是不是so easy。


©著作权归作者所有:来自51CTO博客作者mb5fdb0a4002420的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 虚拟机常见的网络类型有哪些?linux运维学习
  2. win10 安装 MySQL8.0版本
  3. 【Nest教程】Nest项目部署在ubuntu服务器
  4. 【Nest教程】Nest项目增加定时任务
  5. C#中使用opencv处理图像
  6. "Emgu.CV.CvInvoke”的类型初始值设定项引发异常 解决办法
  7. 【死磕JVM】JVM快速入门之前戏篇
  8. 常用的虚拟机软件有哪些?linux基础及应用教程
  9. jenkins + supervisor + ansible 实现netcore程序的多机一键部署

随机推荐

  1. Android 动画小知识点
  2. android之启动桌面activity
  3. Android文件操作
  4. Android ------ 拍照相册选择图片 剪裁图
  5. Android 依赖报错Version 28 (intended f
  6. android hack相关
  7. Linkify匹配电话号码,Email等
  8. android studio更改module名字
  9. Android实现简单短信发送器
  10. AndroidX迁移——弃用support库指南