如何使用Docker

发布时间:2022-05-26 15:59:08 作者:iii
来源:亿速云 阅读:143

本篇内容介绍了“如何使用Docker”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

环境

我的基础运行环境是运行在win10专业版hyperv虚拟机中的centos7-minimal版本。新装的虚拟机,保证运行环境不受奇奇怪怪的东西影响。

centos安装docker简洁明快:sudo yum install docker -y。等着就行……安装内容如下:

如何使用Docker

启动docker服务

与安装一样简洁明快:sudo systemctl start docker。如果没有报错,那就是启动完成了。(我喜欢用systemctl,反正只要能启动服务,你想咋启动就咋启动。)命令没有回显,我就不截图了。

获取容器镜像

docker提供镜像搜索命令(search),方便你快速找到自己想要的镜像。当然,镜像的源你可以自己配置,默认是docker.io。我只打算找一个centos的镜像,所以默认的源就行。搜索命令如下:

如何使用Docker

可以看到,搜索到好多镜像。最后两列字面意思我没理解,但是应该是标记官方镜像和开发者上传的镜像。我选择第一个,标记着“官方的”,应该没有装任何其他的东西。

嗯,接下来就是下载(pull)镜像了。命令如下(渣渣网速):

如何使用Docker

可以看到,默认下载的是最新的(latest)。当然,你可以下载其他非最新的版本,具体操作请查询pull命令的相关参数。我只要最新的(傲娇脸)。这个镜像大小也是6 。这么小,估计真的是什么都没装吧(还是压缩了?)……

如何使用Docker

上面是下载完成后显示的信息。

创建容器

接下来就是从刚下载的镜像创建一个容器了。新的容器的所有内容都会从镜像里拷贝(那个改是拷贝吧)。

声明:由于输入sudo太麻烦,所以下面的演示都用root用户执行。

创建容器(run)命令就比较复杂了,参数较多:

如何使用Docker

如上,我来一个一个解释:

查看容器

使用docker ps -a 命令可以查看当前存在的所有容器:

如何使用Docker

如上,我只运行了一个容器。命令显示了容器的id、使用的镜像、运行的命令、创建时间、运行时间、端口映射、名称。

连接容器

连接容器有多种办法。在宿主机中使用docker的attach命令,即可连接到容器:

如何使用Docker

如上,就已经连接到容器了。可以看到命令行信息的变化。

我使用了ps命令查看了容器中的进程。可以看到一个id为1的进程,这个进程就是run命令最后的那个参数。run命令所指定的任务进程id一定是1 。我们使用attach命令连接的也是这个命令的标准输入输出流(错误流我不知道连接了没)。由于run指定的命令是bash,所以attach也是连接到了bash,这样就能随意操作容器了。

关闭连接很容易想到,就是退出bash:exit。

但是、但是、但是,这样退出会导致一个问题,那时就是:容器因为1号进程的退出(就是attach命令连接的bash),会认为任务已完成,容器就停止了。

如何使用Docker

如上,容器已经停止了(exited)。

所以,我建议使用exec命令对容器进行操作。我们重启容器:

如何使用Docker

可以看到,start 加容器名称就能启动。

使用exec命令,可以让容器直接执行命令(docker exec 容器名称 命令):

如何使用Docker

如上,是我用exec对nethost执行ps命令查看进程,执行ls命令列出根目录。

也可以用exec执行bash并挂载输入输出流:

如何使用Docker

如上,是我用exec命令启动bash并挂载输入输出流。-it参数的意义和run命令相同,不同的是没有使用-d命令,这样(前台模式)可以使命令执行后直接连接输入输出流。我执行了ls命令和ps命令。

从ps命令的显示可以看出,exec命令启动了一个新的bash,pid为24(当然,pid应该是随机赋值的)。区别于pid为1的bash,我们当前连接的就是这个pid为24的bash,一样可以执行命令,随意操作。并且退出之后,也不会影响pid为1的bash,这样就可以使容器继续运行。

如何使用Docker

上图可见,我退出了容器的bash后,容器依然在运行。我在宿主机中使用exec执行ps命令后,nethost这个容器中1号进程仍然在运行。

停止和删除容器

上面提到了启动容器(start)命令,停止容器当然是停止命令(stop)了。

如何使用Docker

stop命令执行效果如上。

删除容器更容易,使用rm命令:

如何使用Docker

如上,我删除了名为nethost的容器,因为只有一个容器,所以删除之后九没有容器了。要注意的是:rm命令只能删除已经停止的容器。并且rm命令不像linux的rm命令那样会有删除确认,docker的rm命令会直接删除容器,所以用的时候要小心。

“如何使用Docker”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. docker使用技巧
  2. Docker内存使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker

上一篇:Docker的知识点有哪些

下一篇:mac中docker安装mysql的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》