运行一个镜像, 如果本地镜像库中不存在则从远程仓库下载
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 -al NAME
-a
: 显示所有的容器信息, 不适用该参数仅显示存活的容器信息-l
: 显示最后创建的容器
显示容器的标准输出
docker logs -f NAME
-f
: 类似于tail -f
,追踪文件最新变化
创建一个容器
docker create --name NAME centos:latest /bin/bash
启动创建好的容器
docker start NAME
停止正在运行的容器
docker stop NAME
移除已停止运行的容器
docker rm -vf NAME
-v
: 移除容器的同时移除容器关联的卷信息-f
: 强制删除一个正在运行的容器(可能会丢失信息)
显示本地仓库中已存在的镜像
docker images -aq
-a
: 显示所有镜像-q
: 仅显示镜像id
删除本地仓库镜像
docker rmi -f IMAGE
-f
: 强制删除镜像
查看端口的映射信息
docker port NAME [port]
port为容器内的端口,不存在时显示所有的容器到主机端口的映射,否则仅显示指定的端口到主机的映射。
查看容器内所有的进程
docker top NAME
docker inspect -f {{.Config.Hostname}} NAME
仅使用docker inspect NAME
会显示容器的源数据信息
-f
: 使用go模板匹配查找项
从远程仓库下载镜像到本地仓库
docker pull IMAGE
从远程仓库中搜索镜像
docker search IMAGES
将修改后的镜像提交为一个新的镜像
docker commit -a "" -m "" ID OURUSER/OURIMAGE:TAG
ID: 被修改的镜像id, OURUSER:当前用户名称,OURIMAGE:镜像名, TAG:标签
- -a` : 指定作者信息
-m
: 指定提交的信息
构建镜像
docker build -t="OURUSER/OURIMAGE:TAG"
-t
: 指定名称和一个可选的版本号标签, 格式必须为 name:tag
给已存在的镜像添加标签。
docker tag ID OURUSER/OURIMAGE:TAG
给id为ID
的镜像添加一个OURUSER/OURIMAGE:TAG
的标签
推送镜像到docker hub
docker push OURUSER/OURIMAGE