Docker常用命令

Docker镜像常用指令
启动Docker
    sudo systemctl start docker
查看Docker版本
    docker version
搜索镜像

docker search 用来搜索 Dcoker Hub 中的镜像。例如 :

    docker search java

下载镜像

使用docker pullDocker Rigistry中下载镜像,例如:

    docker pull java
列出镜像

docker images 即可列出已经下载的镜像。

    docker images

删除本地镜像
  1. 删除指定名称的镜像
    docker rmi hello-world
    docker rmi -f hello-world //强制删除

  1. 删除所有镜像
    docker rmi -f $(docker images)
Docker容器常用指令
新建并启动容器

使用 docker run 命令来新建并启动一个容器。选项列表:

  • -d : 表示后台运行
  • -P : 随机端口映射
  • -p : 指定端口映射,有以下可选参数:
    • ip:hostPort:containerPort
    • ip::containerPort
    • ip:hostPort:containerPort
    • containerPort
  • --network : 指定网络模式,该选项有以下可选参数:
    • --network=bridge : 默认选项,表示连接到默认网关。
    • --network=host: 容器使用宿主的网络。
    • --network=container: NAME_or_ID,告诉Docker让新建的容器使用自己已有的网络配置。
    • --network=none: 不配置该容器的网络,用户可自定义网络配置。

例1:

docker run java /bin/echo 'Hello world'

例2:

 docker run -d -p 91:80 nginx

启动一个nginx容器,没有镜像会先下载一个镜像。-d是后台运行,-p 开放容器端口到宿主机端口。

访问 http://Docker主机IP:91/ 就会看到;

列出容器

使用 docker ps 命令,默认可列出运行中的容器。要列出所有容器可以使用docker ps -a

  • CONTAIER_ID : 容器id
  • IMAGE : 镜像名称
  • COMMAND : 表示启动时运行的命令
  • CREATED : 创建时间
  • STATUS : 容器运行的状态,UP表示运行中,Existed表示已经停止
  • PORTS : 容器对外的端口
  • NAMES : 表示容器名称,由Docker默认生成,也可使用docker run命令的--name选项自行指定
停止容器

使用docker stop命令停止容器。

docker stop  de4984c7ea98   //根据  CONTAIER_ID 来删除
docker stop sad_noyce       //根据  NAMES       来删除

de4984c7ea98 可以从docker ps命令中查看运行容器的CONTAIER_ID。同理sad_noyce表示容器名称。

强制停止容器

可使用 docker kill 来强制停止容器。

docker kill de4984c7ea98  //de4984c7ea98  为 CONTAIER_ID 
启动已停止的容器

使用docker run 命令,即新建并重启一个容器。对已经停止的容器,可以用docker start来启动。例如:

docker start de4984c7ea98   //de4984c7ea98  为 CONTAIER_ID 
重启容器

使用docker restart来重启容器。该命令相当于先执行docker stop 然后执行docker start

进入容器

某些场景下,可能要进入运行中的容器。

  • 使用docker attach进入容器
docker attach de4984c7ea98  //de4984c7ea98  为 CONTAIER_ID 

当多个窗口同事 attach一个容器的时候,所有的窗口都同步显示,有一个阻塞的话,其他窗口也无法操作。所以并不太方便。

  • 使用 nsenter 进入容器

 首先要找到容器的第一个进程PID

docker inspect --format "{{.State.Pid}}" de4984c7ea98  //使用时,只需要改de4984c7ea98为你的 CONTAIER_ID 即可

 然后根据PID,使用一下命令进入容器。

nsenter --target 3028 --mount --uts --ipc --net --pid  //3028 是容器的PID
删除容器

使用docker rm 即可删除指定容器。
例1:

docker rm de4984c7ea98  //de4984c7ea98  为 CONTAIER_ID 

该命令只能删除已经停止运行的容器,如需删除正在运行的容器,需要使用-f参数
例2:

docker rm -f de4984c7ea98  //de4984c7ea98  为 CONTAIER_ID 

你也可以删除所有容器,例如:

docker rm -f $(docker ps -a -q)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值