Docker 命令
- 查找镜像
$ docker search image_name
- 下载镜像
$ docker pull image_name
- 发布镜像
$ docker push image_name
- 显示镜像列表
$ docker images
- 删除镜像
$ docker rmi images
-f 强行删除
- 删除所有没有打tag的镜像
(sudo docker images -q -f dangling=true)
- 显示一个镜像的历史信息
$ docker history image_name
- 查看镜像参数
$ docker inspect id/name:<tag>
- 修改镜像tag
$ docker tag id/name:<tag> name:tag
- 镜像保存
$ docker save id/name:<tag> > /home/name.tar
- 导入镜像
$ docker load < /home/name.tar
- 重命名容器
$ docker rename oldname newname
- 交互式进入启动容器
$ docker run -t -i centos /bin/bash
-t 表示打开一个客户端
-i 表示发送返回信息到客户端
- 服务式启动容器
$ docker run -d --net host --name conname -p 58080:8080 -v /opt/app/logs:/opt/app/work/app1 imagename
-d 后台启动镜像
-p 将容器8080端口映射到本机58080端口
-v 将容器/opt/app/logs目录映射到主机/opt/app/work/app1目录
-u 指定容器用户
--name 容器运行名称
- 构建镜像
$ docker build -t imagename Dockerfile_path
- 查看运行中的容器
$ docker ps
- 查看所有容器
$ docker ps -a
- 查看最近一次启动的容器
$ docker ps -l
- 启动、停止、杀死、重启一个容器
docker stop id/name:<tag>
docker restart id/name:<tag>
- 查看容器运行日志
$ docker logs id/name:<tag>
- 查看某容器的日志路径
$ sudo docker inspect --format='{{.LogPath}}' id/container:name
- 查看文件大小
$ sudo du -h file
- 列出容器中改变了的文件或目录
$ docker diff id/name:<tag>
- 附加到一个运行的容器上
$ docker attach id
- 进入一个正在运行的容器
$ docker exec -it id
- 显示运行中容器的进程信息
$ docker top id/name:<tag>
- 删除容器
$ docker rm id/name:<tag>
- 删除所有容器
$ docker rm
docker ps -a -q
- 删除Exited的container
1}' | xargs docker rm
- 复制容器文件到本地
$ docker cp id:/path /hostpath
- 复制本地文件到容器
$ docker cp id:/path /hostpath
- 用root用户登录容器
$ docker exec -it --user root xx
- 删除没有tag的镜像,
[-a]表示删除所有没有使用的镜像
$ docker system prune [-a]
- 从容器创建一个新的镜像
$ docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。