列举部分较常用的Docker命令行指令。
镜像相关命令
对特指的某个镜像操作时必须要指定该镜像的名称和TAG,如果不指定TAG会默认TAG为
latest
,另外也可以通过镜像ID来直接指定。
docker images
: 查看当前本地仓库所有镜像docker search ${KEYWORD}
: 在线查找镜像docker login [${SERVER}]
: 登录某个Docker仓库,默认为官方仓库DockerHub-u ${USERNAME}
: 指定登录用户名-p ${PASSWORD}
: 指定登录用户的密码
docker logout [${SERVER}]
: 退出登录docker pull ${IMAGE}:${TAG}
: 下载镜像,不指定TAG则默认下载latest
版本docker push ${IMAGE}:${TAG}
: 上传镜像到镜像仓库,需要先登陆镜像仓库docker rmi ${IMAGE}:${TAG}
: 删除本地仓库中镜像docker save ${IMAGE}:${TAG} -o ${FILE_NAME}
: 把镜像保存为tar文件,也可以写成docker save ${IMAGE}:${TAG}>${FILE_NAME}
docker load -i ${FILE_NAME}
: 把镜像文件导入到仓库,也可以写成docker load <${FILE_NAME}
docker export ${CONTAINER_ID} -o ${FILE_NAME}
: 把容器保存为tar文件,也可以写成docker export ${IMAGE}:${TAG}>${FILE_NAME}
docker import ${FILE_NAME} ${IMAGE}:${TAG}
: 把镜像文件导入到仓库,需要指定导入后镜像的IMAGE和TAGdocker tag ${IMAGE}:${TAG} ${NEWIMAGE}:${NEWTAG}
: 为某个镜像增加新的镜像名和TAGdocker commit ${CONTAINER_ID} ${IMAGE}:${TAG}
: 提交对某个容器的更改操作,输出为新的镜像-m="${COMMIT_MESSAGE}"
: 填写提交信息-a="${AUTHOR}"
: 填写镜像作者-p
: commit时暂停容器
docker build ${DOCKER_FILE_PATH} -t ${IMAGE}:${TAG}
: 通过Dockerfile创建镜像
容器运行相关命令
对容器进行操作时需要指定该容器的ID,另外也可以通过分配的或自定义的容器名来确定容器。
docker run
: 启动一个新的容器-t
: 在新容器内指定一个伪终端或终端-i
: 允许对容器内的标准输入(STDIN)进行交互-d
: 后台运行-P
: 选取主机的随机端口对容器端口进行映射-p ${HOST_PORT}:${CONTAINER_PORT}
: 指定端口的映射,可以使用多次-p
以映射多个端口--name ${CONTAINER_NAME}
: 指定容器的NAME-v ${HOST_PATH}:${CONTAINER_PATH}
: 把本机某个目录挂载到容器的某个目录下
docker stop ${CONTAINER_ID}
: 停止某个Docker容器docker start ${CONTAINER_ID}
: 启动某个关掉的Docker容器docker restart ${CONTAINER_ID}
: 重启某个正在运行的Docker容器docker kill ${CONTAINER_ID}
: 强行停止某个Docker容器docker attach ${CONTAINER_ID}
: 进入某个正在后台运行的容器,通过CTRL+P+Q
可以把容器再次切换回后台docker exec ${CONTAINER_ID} ${COMMAND}
: 在某个运行中的容器里执行COMMAND后退出,如果要进入容器则COMMAND为/bin/bash
docker pause ${CONTAINER_ID}
: 暂停容器docker unpause ${CONTAINER_ID}
: 恢复被暂停的容器docker ps
: 查看当前正在运行的容器的信息-a
: 查看包括已关闭的容器-q
: 只列出容器的ID,可以与其他需要容器ID的命令组合使用,如[docker rm `docker ps -a -q`]可以删除全部的容器
docker port ${CONTAINER_ID}
: 查看容器的端口映射情况docker logs ${CONTAINER_ID}
: 查看容器内的标准输出-f
: tail形式输出log
docker top ${CONTAINER_ID}
: 查看容器内部运行的进程docker stats
: 查看容器资源使用状态docker inspect ${CONTAINER_ID}
: 查看容器的底层信息docker rm ${CONTAINER_ID}
: 移除不需要的容器docker diff ${CONTAINER_ID}
: 查看容器发生改变的文件结构docker cp ${HOST_PATH} ${CONTAINER_ID}:${CONTAINER_PATH}
: 本机和容器间的文件传输,在前的为源路径,在后面的为目标路径,容器侧的路径前要加上容器ID
Docker自身服务相关命令
docker version
: 查看当前使用的Docker版本信息docker info
: 查看Docker当前的详细系统信息