docker基础命令

docker run

运行一个镜像, 如果本地镜像库中不存在则从远程仓库下载

1
docker run -i -t --name NAME centos:latest /bin/bash
  • -i : 指定可以和容器进行交互
  • -t : 打开一个shell窗口
  • -P : 自动将容器内需要的端口映射到宿主机动态端口,自动映射的端口范围为49000-49900
  • -p : -p 5000将容器的5000端口映射到宿主机动态端口,-p 6000:5000将容器5000端口映射到宿主机6000端口上
  • --name : 指定当前容器的名字

docker ps

列出容器信息

1
docker ps -al NAME
  • -a : 显示所有的容器信息, 不适用该参数仅显示存活的容器信息
  • -l : 显示最后创建的容器

docker logs

显示容器的标准输出

1
docker logs -f NAME
  • -f : 类似于tail -f,追踪文件最新变化

docker create

创建一个容器

1
docker create --name NAME centos:latest /bin/bash

docker start

启动创建好的容器

1
docker start NAME

docker stop

停止正在运行的容器

1
docker stop NAME

docker rm

移除已停止运行的容器

1
docker rm -vf NAME
  • -v : 移除容器的同时移除容器关联的卷信息
  • -f : 强制删除一个正在运行的容器(可能会丢失信息)

docker images

显示本地仓库中已存在的镜像

1
docker images -aq
  • -a : 显示所有镜像
  • -q : 仅显示镜像id

docker rmi

删除本地仓库镜像

1
docker rmi -f IMAGE
  • -f : 强制删除镜像

docker port

查看端口的映射信息

1
docker port NAME [port]

port为容器内的端口,不存在时显示所有的容器到主机端口的映射,否则仅显示指定的端口到主机的映射。

docker top

查看容器内所有的进程

1
docker top NAME

docker inspect

1
docker inspect -f {{.Config.Hostname}} NAME

仅使用docker inspect NAME会显示容器的源数据信息

  • -f : 使用go模板匹配查找项

docker pull

从远程仓库下载镜像到本地仓库

1
docker pull IMAGE

从远程仓库中搜索镜像

1
docker search IMAGES

docker commit

将修改后的镜像提交为一个新的镜像

1
docker commit -a "" -m "" ID OURUSER/OURIMAGE:TAG

ID: 被修改的镜像id, OURUSER:当前用户名称,OURIMAGE:镜像名, TAG:标签

  • -a` : 指定作者信息
  • -m : 指定提交的信息

docker build

构建镜像

1
docker build -t="OURUSER/OURIMAGE:TAG"
  • -t : 指定名称和一个可选的版本号标签, 格式必须为 name:tag

docker tag

给已存在的镜像添加标签。

1
docker tag ID OURUSER/OURIMAGE:TAG

给id为ID的镜像添加一个OURUSER/OURIMAGE:TAG的标签

docker push

推送镜像到docker hub

1
docker push OURUSER/OURIMAGE