docker学习(三、常用命令,超实用)

一、常用命令

# 查看版本
docker version

# 查看docker详细信息
docker info

# 拉取镜像
docker pull 镜像名

# 使用dockerfile构建镜像(这个现在也不常用了,直接用docker-compose)
docker build -t 镜像名 dockerfile目录

# 搜索镜像
docker search 镜像名

# 查看当前docker中的镜像
docker images

# 删除指定镜像(删除多个时可以用空格直接拼接)
docker rmi -f 镜像名称或镜像id

# 删除全部镜像
docker rmi -f ${docker images -qa}

# 查看当前docker中全部容器
docker ps -a

# 重启指定容器
docker restart 容器名称或容器id

#启动指定容器
docker start 容器名称或容器id

# 停止指定容器
docker stop 容器名称或容器id

# 删除指定容器(删除多个时可以用空格直接拼接)
docker rm -f 容器名称或容器id

# 删除全部容器(可以先执行docker ps -a -q查看要删除的容器)
docker rm -f ${docker ps -a -q}
docker ps -a -q|xargs docker rm

# 交互式新建启动容器
docker run -it 镜像名字:tag名称 /bin/bash

# 启动容器,-d后台运行,--name命名容器,-p指定端口号
docker run -d -p 80:80 --name=自定义的容器名 镜像名字:tag名称

# 进入容器进行交互
docker exec -it  容器名称或容器id /bin/bash

# docker exec -it操作之后,直接退出
exit
# 退出并保持运行(docker run没用-d,只用了-it)
ctrl+p+q

# 查看容器日志
docker logs 容器名或容器id

二、不常用

# 查看容器中进程信息ps
docker top 容器id

# 查看镜像的元数据
docker inspect 容器id

# 删除docker中未使用的数据,清理空间
docker system prune

# 杀死指定容器
docker kill 容器名称或容器id

# 列出网络
docker network ls

三、目前未使用过的

# 进入容器,不常用,退出用exit会导致容器停止(它不会新起一个线程)
docker attach 容器名或容器id

# 将容器内的文件copy到指定目录 -- 备份(这里建议使用挂载卷的方式更好)
docker cp 容器名或容器id:容器内部路径 要copy到的路径

# 导出容器到指定tar中 -- 备份
docker export 容器名或容器id > 文件名.tar

# 导入tar到新的镜像
cat 文件.tar | docker import - 镜像名:tag名称

如果有新用到的会继续补充~ 

你可能感兴趣的:(docker,docker,容器,运维)