Docker常用命令

参考地址:https://www.runoob.com/docker/docker-commit-command.html

docker run

  • -it 分配一个伪终端并绑定在stdin输入输出上,以便后续交互使用
  • -d 后台运行
  • -p 映射端口,例如-p 1234:80,含义是将容器的80端口映射在宿主机的1234端口上
  • -e 传递环境变量
    例如 -e TZ='Asia/Shanghai' 可以用来调整时区(CST),但是单纯改时区的环境变量只能影响当前容器用户的时区,不能改变root用户的。
    在/etc/localtime中改时区,这样可以影响root用户
  • -v 挂载目录 当前目录:容器内目录
  • --link :link可以连接两个容器(需要先start源容器否则start接收容器时会报错)
    alias 可以用alias给源容器起个别名,起别名之后name和alias在接收容器中都可视为源容器的hostname,可以直接ping通
  • --restart=always 随着docker daemon一起启动
  • --rm 容器停止后自动删除,以方便调试

docker exec -it [containerid] /bin/bash

  • 以bin/bash的交互方式进行交互,常用的还有/bin/sh或bash
  • -i 以交互式的形式
  • -t 分配stdin输入输出
  • 其他进入docker的方式:
    1. docker attach:attach直接将输入输出视作为docker的输入输出,如果exit那么docker容器就退出了,而且attach多窗口同步,一个挂掉所有的就挂掉了。
    2. ssh
    3. nscenter利用pid进去(https://github.com/jpetazzo/nsenter)

docker images

  • 查看可用镜像
  • 删除所有镜像命令:docker rmi $(docker images -q) -q的含义是只显示id

docker pull

  • 从网上拉镜像
  • 一般有两个源,一个是hub.docker.com,一个是https://hub.daocloud.io/(这个目测速度比较快)

docker ps

  • 查看运行容器状态
  • docker ps --format='{{.Names}}' 输出所有容器的名字
  • docker ps -f status=exited --format='{{.Names}}' 输出所有退出状态的容器名字
  • docker rm/start $(docker ps -qf status=exited) 批量删除/启动所有退出的容器
  • docker ps -s 查看容器大小

alias

  • 预定义一些容器命令以方便使用

docker cp xxx [containerid]:/home/xxx

  • 将当前目录下的xxx文件复制到某容器中的某路径下

docker logs [containerid]

  • 查看某容器中的服务日志

docker inspect [containerid]

  • 查看某容器的详细内容,网络,文件挂载情况等等

docker rm [containerid]

  • 删除某容器
  • docker rm $(docker ps -q -a) 一次性删除所有容器

你可能感兴趣的:(Docker常用命令)