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 |