Docker常用指令

97 阅读1分钟

docker run

作用:启动容器

指定容器名称

  • --name可以手动指定启动的容器的名称,如果不指定,那么容器会被自动赋予一个名字
    • --name=自定义容器名称

容器已经存在时自动删除

  • --rm选项:当容器已经存在的时候自动删除已经存在的容器

启动终端选项

  • -i keep STDIN open even if not attached
  • -t 启用终端,如果启用终端的话,可以和-i一起连用,写成-it
    • 启用终端的话,还要在最后加上一个bash(或者sh之类的),表示使用这个shell作为容器里面的shell
    • docker run -it 镜像名 /bin/bash

指定环境变量

  • -e为容器启动后添加环境变量,或者--env,例如
    • docker run -it -e MY_NAME=ryan -e MY_ROOT=home 镜像名 /bin/bash
    • 这样就相当于在容器内指定了两个自定义的环境变量,进入到容器内后用echo $MY_NAME就可以看到设置的环境变量的值

端口映射

  • -p指定端口映射,用法格式为:
    • -p 宿主机端口号:容器端口号
    • docker run -p 9527:8080表示将容器内的8080端口映射到宿主机的9527端口,这样在宿主机中访问9527端口就相当于访问容器内的8080端口

将容器挂在后台运行

  • -d指定将容器放在后台运行,默认是false,也就是不放在后台运行

docker ps

作用:列出容器信息

列出所有容器

docker ps 不加任何选项的情况下,默认仅列出正在运行的容器

docker ps -a加上-a选项,列出所有的容器,不论是正在运行的还是已经停止的。

按照条件筛选容器

使用--filter选项来筛选容器

语法

docker ps --filter "条件=值" --filter "条件=值"

条件支持的值如下(来自docker官网

docker-ps-filter支持指令.png

示例

  • 列出同一镜像的容器:docker ps -a --filter "ancestor=image_name"
  • 按照名字搜索一个容器:docker ps -a --filter "name=part_of_container_name",仅使用容器名字的一部分也可以搜索出结果

docker rm

作用:删掉容器

基础用法

  • 删除一个容器:docker rm 容器名或者容器id
  • 删除所有容器:docker rm $(docker ps -a -q)