Docker

docker常用基本命令

  • 帮助命令

    docker help
  • 运行命令

    docker run <options>
     options:
       -d,deamon的方式运行
       -v,映射目录到宿主机,例如:-v $PWD/data:/data
       -p,映射端口到宿主机,例如:-p 13306:3306
       -i,保持标准输出打开
       -e,设置环境变量,例如: -e "JAVA_HOME=/var/lib/java"
       -u,设置运行用户,例如: -u root
       -t,设置pseudo-TTY
       --name,设置名称,例如: --name db
     完整示范: docker run -d --name db -u root -v $PWD/data:/data -p 13306:3306 -it -e "TZ=Asia/Shanghai" dockerfile/mysql:latest
  • 日志命令

    docker logs <options>
    
     options:
    
        -f,保持日志跟随
    
        -t,显示时间戳
    
     完整示范: docker logs db
  • 查询运行中的container

    docker ps <id|name>
  • 查询全部的container

    docker ps -a <id|name>
  • 启动、停止和删除container

    docker <start|stop|rm> <id|name>
  • 删除image

    docker rmi <id|name>
  • 构建image

    docker build -t <name> <dockerfile path>
     完整示范: docker build -t lencee/mysql /opt/servers/mysql

docker高级用法

  • 进入正在运行的docker container

这个方法不需要用到SSH,我们通过nsenter命令来进入。但是首先我们得活的container的PID,利用以下语句:

 docker inspect --format '{\{ .State.Pid }\}' [container id|name]     (去掉'\',因为双括号和wiki语法冲突了)

得到PID之后,我们利用nsenter命令来进入:

 nsenter -m -u -n -i -p -t [PID] /bin/bash

需要注意的是,当你进入docker container,并进行了相应的改变之后,那么你必须提交你的container,我的建议是做完配置之后,生成一个新的image。记住,docker container永远是一个运行环境。

你可能感兴趣的:(Docker)