Docker常用指令

docker pull ubuntu  #下载ubuntu镜像
docker search ubuntu  #查询镜像
docker run -it ubuntu /bin/bash  #启动镜像,-i交互式操作,-t终端,-d后台运行,/bin/bash是进入容器后的命令形式

docker ps -a  #查看所有容器


docker stop <容器名称>  #关闭容器
docker start <容器名称> #开启容器
docker restart <容器名称> #重启容器

docker exec -it <容器名称> bash #进入容器,exit退出不会关闭镜像
docker exec -u root <容器名称> chown -R www-data:www-data /var/www/html #修改容器内文件权限

docker attach <容器名称> #同样是进入容器,但退出后容器也会关闭

docker rm <容器名称> #删除容器
docker rm -f <容器名称> #强制删除正在运行的容器
docker rm -v <容器名称> #删除与容器关联的数据卷
docker rm -l <容器名称> #移除容器间的网络连接,并非删除该容器

docker inspect <容器名称> #查看容器详情
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名称> #查看容器IP

docker export  <容器名称> > test.tar  #导出容器到test
cat ./test.tar | docker import - mysql:test  #将本地容器文件导入成镜像
docker import http://example.com/exampleimage.tgz example/imagerepo  #也可以URL导入

docker images #查看下载的所有镜像

docker rmi php:7.4.33-fpm #删除PHP镜像
docker rm -f $(docker ps -a)  #删除所有容器
docker rmi $(docker images)   #删除所有镜像

docker build -t hamster/ubuntu:22.4 .  #构建镜像,-t指定要创建的目标镜像名,.Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

docker system prune  #清除所有不使用的资源
docker image prune -a  #删除所有未被标记的镜像
docker volume prune  #删除所有未被使用的数据卷
docker network prune  #删除所有未被使用的网络

docker logs <容器名称>  #查看容器日志,可以借此查看容器无法启动的原因

docker cp /www/html <容器名称>:/www/  #将本地数据拷贝到容器指定位置
docker cp <容器名称>:/www/ /www/html  #将容器数据拷贝到本地