美文网首页
5.docker容器相关命令

5.docker容器相关命令

作者: 凉风拂面秋挽月 | 来源:发表于2019-10-31 21:07 被阅读0次

    1.创建并启动容器相关命令

    一个标准的创建启动容器命令如下

    docker run [OPTION] image [command]
    

    其中OPTION可选参数有很多,比如 --name -d等等。
    我们直接来看一个docker启动mysql的命令

    docker run -p 3307:3306 --name mysql04 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
    

    1.run

    让容器启动

    2. -d

    以后台的形式启动,并返回容器ID,也即启动守护式容器;

    3. -p 主机端口:容器端口

    设置docker容器和实际主机端口的映射,这样就可以用外网进行访问docker中的容器了

    4. --name

    给启动的容器起一个别名

    5. -e

    这个是启动mysql特有的选项设置,因为创建mysql的时候,用户名有默认值root,但密码没有默认值,只有在创建mysql容器的时候就给出密码。
    除了这些,还有一些常用的
    -i:以交互模式运行容器,通常与 -t 同时使用;

    -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    一般使用的时候都是-it
    比如我们用docker启动一个centos镜像的时候,就可以使用如下命令

    docker run -it centos /bin/bash 
    

    ps:/bin/bash 其实可加可不加,因为启动centos默认就是这个命令,该命令为启动centos并进入centos的命令行界面。

    查看容器相关命令

    基本写法为 docker ps[OPTIONS]
    OPTIONS包括

    -a :列出当前所有正在运行的容器+历史上运行过的
    
    -l :显示最近创建的容器。
    
    -n:显示最近n个创建的容器。
    
    -q :静默模式,只显示容器编号。
    
    --no-trunc :不截断输出。
    

    3.退出容器

    一般-d运行的容器不需要退出,不想用的时候停止就可以了,比如mysql。但一些容器是需要退出的,比如centos,你在创建centos容器的时候就进入了它的命令行界面,而不是当前主机的。
    于时有两种退出方式

    exit  退出并停止
    ctrl+P+Q  退出不停止
    

    当我们在centos的命令行界面输入exit,即可退出到主机的root用户界面。
    或者按住ctrl+P+Q。
    当然既然能ctrl+P+Q退出不停止,就有办法在进来。

    4.启动容器

    标准写法是

    docker start 容器id或容器名
    

    容器id是创建容器随机生成的,容器名是--name指定的。
    ps:这里说一下start和run的区别,其实区别很明显了,run是先创建后启动,不需要你有这个容器。start必须是已经存在的容器才能用。

    5.重启容器

    docker restart 容器id或容器名
    

    重启嘛,就是正在运行的容器,关闭后在启动。

    6.关闭容器

    docker stop 容器id或容器名
    

    强制停止容器

    docker kill 容器id或容器名
    

    7删除已经停止的容器

    注意下,容器还在运行的时候不能被删除。

    docker rm 容器id
    

    如果一次删除多个容器可以用

    docker rm -f $(docker ps -q -a)
    

    8查看容器日志

    我们来做一个实验,在启动centos的时候设定,让其每2秒打印一段字符串作为日志,我们去查看它的日志信息。
    首先使用以下命令:

    docker run -d centos /bin/sh -c "while true;do echo hello zzyy;sleep 2;done"
    

    每隔两秒打印一个do echo hello zzyy


    image.png

    查看日志命令

    docker logs -f -t -tail
    

    其中: -t 是加入时间戳
    -f 跟随最新的日志打印
    --tail 数字 显示最后多少条


    image.png

    9.查看容器中运行的进程

    docker top 容器id
    

    查看容器内部细节

    docker inspect 容器id
    

    10.进入正在运行的容器并以命令行交互(对应ctrl+q+p退出容器)

    docker exec -it 容器id bashShell
    

    docker attach 容器id
    

    两者的区别是exec是启动新的终端,可以开启新的进程,attach直接进入容器启动终端,不会启用新的进程。

    11.从容器内部拷贝文件到当前主机

    docker cp 容器id 容器内路径 目的主机路径
    
    image.png

    相关文章

      网友评论

          本文标题:5.docker容器相关命令

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