美文网首页
第一个Docker容器

第一个Docker容器

作者: 邱simple | 来源:发表于2017-06-04 11:28 被阅读0次

2017-05-12

什么是Docker

Docker是一个容器,能够为封装在其中的应用提供所有运行需要的的环境,实现一次打包,不同地方运行的目的。这有点像java虚拟机的一次编译,不同平台都可以运行,前提是只要安装了JVM。同样,只有在安装了Docker的机器上才能够运行Docker的容器。Docker的出现方便了开发和测试人员,不用重复搭建相同的服务依赖环境,以保证开发和测试的一致。开发人员利用Docker打包开发完成的应用,再交付给测试人员,测试直接对容器暴露的端口进行访问测试即可。

Docker与Virtual Machine的区别

Docker能够封装应用成一个容器,并运行在其他环境下,多少有点虚拟化的味道。用过VMWare的朋友自然知道构建一个虚拟机后,能够打包移植到其他的宿主机(虚拟机寄宿的实体机)上运行。如果把VMWare视作docker,每台虚拟机就可以视作Container。然而,Docker更关注容器中服务的依赖环境搭建,利用linux的命名空间和Cgroup来隔离环境,而不像虚拟机从底端搭建完整的操作系统进行环境隔离。

VM-frameVM-frame docker-framedocker-frame

上图是VM的架构,下边是Docker的架构。
仔细分析可以看出,每个VM的应用都构建在该VM中的操作系统之上。每个VM都必须有一个操作系统。而Docker剥离了这个Guest OS层,抽象成了Docker,从此容器中只有服务(应用)所有的与宿主机的交互都交给了一个Docker。同时,Docker能够配置网络环境,便于容器之间的通信。

安装docker并打包运行第一个应用

安装

公司统一使用CentOS 7作为生产环境,参考docker官方文档的centos安装部分。注意:linux下的docker只能安装在64位系统上的。可以通过以下命令查看系统版本:

unameuname

Docker当前分为社区版和企业版(收费版),就目前学习阶段,社区版足以。
Docker的安装可以通过添加yum的仓库依赖来安装或者是下载对应的rpm包。我们使用第一种。

  1. 配置yum的依赖
yum-configure-manageryum-configure-manager

以上命令添加docker的依赖。
如果发生yum-config-manager命令找不到的错误,则yum install yum-utils
更新yum仓库缓存

yum makecache fast

  1. 安装Docker

yum install docker-ce

  1. 启动Docker

service docker start

docker-run-helloworlddocker-run-helloworld

敲入以上命令能够下载并运行一个docker自带的hello-world镜像,若能够看到上述信息,即表示安装成功。

Hello docker

现在我们来写一个Docker的小容器。
Docker通过一个Dockerfile文件对容器进行配置,创建一个Dockerfile文件并填入以下内容。

first-dockerfilefirst-dockerfile

其中app是我们即将要创建的python应用,而requirements.txt是这个应用所需的模块,通过pip进行安装。我们添加两个文件,app.py和requirements.txt。

first-docker-python-appfirst-docker-python-app first-requirementfirst-requirement

现在Dockerfile, app.py, requirements.txt三个文件在一个文件夹下。通过以下命令打包成一个image

docker-build-friendhelloworlddocker-build-friendhelloworld

通过docker images命令可以看到新build的image。

first-docker-imagefirst-docker-image

运行这个image

docker-first-run-friendhellowdocker-first-run-friendhellow

4000:80表示将宿主机的4000端口映射成container的80端口。访问宿主机的ip和4000端口,等效于访问容器80端口的服务。
运行成功后,在浏览器中输入对应的ip和4000端口,可以看到如下页面。

first-example-successfirst-example-success

成功开启容器大门。

相关文章

  • Docker入门操作

    docker目录 查看Docker运行状态 第一个docker入门 查看容器 怎样给容器起一个名字? 重启容器的几...

  • 运行第一个docker容器

    运行第一个docker容器 下载地址:https://www.docker.com/products/docker...

  • Docker学习笔记(四)

    第一个docker容器 docker run 【OPTIONS】IMAGE【:TAG】【COMMAND】【ARG....

  • 常用docker命令

    docker进入容器: docker查看容器ip docker重启容器 docker 启动容器 docker复制宿...

  • Docker常用容器启动命令

    docker启动mysql容器 docker启动nginx容器 docker启动redis容器 docker启动p...

  • docker容器的启动删除,杀进程,自动重启等操作

    查看容器 docker ps 删除容器 Docker rm id 杀掉容器进程 Docker kill [容器名/...

  • docker 常用命令

    运行中的容器docker ps 查看所有容器docker ps -a 进入容器docker -it 容器id ...

  • docker

    docker 容器 新建容器docker create it ... 查看本机上的容器docker ps -a ...

  • docker入门

    查看docker程序是否正常工作 运行我们的第一个容器 容器命名 启动已经停止的容器 查看运行/所有的容器 附着到...

  • docker常用命令

    进入容器 docker exec -it 容器id sh docker ps 查看容器 docker images...

网友评论

      本文标题:第一个Docker容器

      本文链接:https://www.haomeiwen.com/subject/xfmmfxtx.html