美文网首页程序员
如何进入docker container内部

如何进入docker container内部

作者: 刘思宁 | 来源:发表于2017-02-24 11:46 被阅读1047次

    今天的故事是这样的:

    我想要删除测试环境服务器上的一个mysql服务器,在客户端没有办法直接删除,用docker-compose run --rm app rake db:drop只能删除一部分的数据库,有几个数据库没有和这个app连接配置,所以删不掉。这个时候,想到,数据库其实是mysql控制的,直接去mysql那里删不就行了?所以我google了一下how to delete database in docker mysql看到的结果大致都是:docker run让你的container 去执行那句删除指令。但是要想运行那句话,我需要提供mysql的密码,以一个option的形式来传入到container来执行。但我由于了一下,而是去看了docker mysql 的官方hub,里面教会了我直接进入container内部。

    Container是一个虚拟的电脑

    我之前在一些视频教程中见过有人直接进入container内部,用的命令类似于:docker run --rm 路径 路径 <image name> bash。但当时没有理解bash是什么意思,但是想到我本地的terminal就是运行在bash,所以还算理解。然而,这个指令知识在刚刚创立container的时候用了一下,但对于一个已经在运行的container,我不知道怎么进入他的内部,甚至以为我没法进入他的内部。

    然后,当我看到这个命令的时候:

    docker exec -it <container name> bash

    我确认了这个比喻(container是一个虚拟的电脑)的有效性。下面是我进入到一个container之后的画面:

    那container看起来就行事host的微缩模型。

    在Container内部直接运行linux command

    从图一中你已经看到我可以运行ls指令,和mysql指令。当我更进一步,运行完mysql执行后,我相当于进入了container中的mysql。

    Recall

    1. docker exec -it <container name> bash,利用bash来运行container的terminal

    相关文章

      网友评论

        本文标题:如何进入docker container内部

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