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  | 
docker search
从远程仓库中搜索镜像
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  |