前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker基础操作使用

Docker基础操作使用

原创
作者头像
陈不成i
修改2021-07-02 14:30:39
4170
修改2021-07-02 14:30:39
举报
文章被收录于专栏:ops技术分享

一.Docker安装

Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。

这里centos使用yum安装即可 yum -y install docker

安装完成后,运行下面的命令,验证是否安装成功 docker version

Docker 是服务器—-客户端架构。命令行运行docker命令的时候,需要本机有Docker服务。如果这项服务没有启动,可以用下面的命令启动 service docker start

二.image 文件

Docker把应用程序及其依赖,打包在image文件里面。只有通过这个文件,才能生成Docker容器。image文件可以看作是容器的模板。Docker根据image文件生成容器的实例。同一个image文件,可以生成多个同时运行的容器实例。

image是二进制文件。实际开发中,一个image文件往往通过继承另一个image文件,加上一些个性化设置而生成。举例来说,你可以在Ubuntu的image基础上,往里面加入Apache服务器,形成你的image。

列出本机的所有image文件。 docker images

删除image文件 docker image rm [imageName]

image文件是通用的,一台机器的image文件拷贝到另一台机器照样可以使用。一般来说为了节省时间,我们应该尽量使用别人制作好的image文件,而不是自己制作。即使要定制,也应该基于别人的image文件进行加工,而不是从零开始制作。

为了方便共享,image文件制作完成后,可以上传到网上的仓库。Docker的官方仓库Docker Hub是最重要、最常用的image仓库。此外,出售自己制作的image文件也是可以的。

三.实例hello world

1.下面,我们通过最简单的 image 文件”hello world”,感受一下Docker。

需要说明的是,国内连接 Docker 的官方仓库很慢,还会断线,需要将默认仓库改成国内的镜像网站。 echo 'DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"' >> /etc/default/docker service docker restart

2.首先,运行下面的命令,将 image文件从仓库抓取到本地。 docker image pull library/hello-world

上面代码中,docker image pull是抓取image文件的命令。library/hello-world是image文件在仓库里面的位置,其中library是image文件所在的组,hello-world是image文件的名字。

3.由于Docker官方提供的image文件,都放在library组里面,所以它的是默认组可以省略。因此上面的命令可以写成下面这样。 docker image pull hello-world

4.抓取成功以后,就可以在本机看到这个 image 文件了。 docker image ls

5.现在,运行这个 image 文件。 docker container run hello-world

docker container run命令会从image文件,生成一个正在运行的容器实例。

注意docker container run命令具有自动抓取 image 文件的功能。如果发现本地没有指定的image文件,就会从仓库自动抓取。因此前面的docker image pull命令并不是必需的步骤。

如果运行成功,你会在屏幕上读到下面的输出。

代码语言:javascript
复制
Hello from Docker!
This message shows that your installation appears to be working correctly.
... ...

6.输出这段提示以后,hello world就会停止运行,容器自动终止。

有些容器不会自动终止,因为提供的是服务。比如安装运行Ubuntu的image,就可以在命令行体验Ubuntu系统。 docker container run -it ubuntu bash

对于那些不会自动终止的容器,必须使用docker container kill 命令手动终止。 docker container kill [containID]

四.容器文件

image文件生成的容器实例,本身也是一个文件,称为容器文件。也就是说一旦容器生成,就会同时存在两个文件: image文件和容器文件。而且关闭容器并不会删除容器文件,只是容器停止运行而已。

列出本机正在运行的容器 docker container ls

列出本机所有容器,包括终止运行的容器 docker container ls --all

上面命令的输出结果之中,包括容器的ID。很多地方都需要提供这个ID,比如上一节终止容器运行的docker container kill命令。

终止运行的容器文件,依然会占据硬盘空间,可以使用docker container rm命令删除。 docker container rm [containerID]

运行上面的命令之后,再使用docker container ls –all命令,就会发现被删除的容器文件已经消失了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.Docker安装
  • 二.image 文件
  • 三.实例hello world
  • 四.容器文件
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档