Docker常用命令
容器&镜像操作
进入容器
1 | docker exec -it <dockerId> /bin/bash |
从dockerfile构建镜像
1 | docker build -t [自定义名称]:[自定义tag] . |
从镜像启动环境(随机端口)
1 | docker run -itd -P [指定镜像名称]:[指定镜像tag] |
从镜像启动环境(指定端口,如果要映射多个端口,则需要多个-p参数)
1 | docker run -itd -p [主机端口]:[容器端口] [指定镜像名称]:[指定镜像tag] |
列出镜像对外开放的端口
1 | docker inspect --format='{{.Config.ExposedPorts}}' a8fb5a6d1b4d |
删除镜像
1 | docker rmi [镜像名:tag或id] |
修改镜像tag
1 | docker tag [要修改的镜像id] [新镜像名称]:[新tag] |
列出所有容器
1 | docker ps -a |
列出运行中的容器
1 | docker ps |
停止容器
1 | docker stop [容器名或ID] |
启动停止的容器
1 | docker start [容器名或ID] |
删除指定容器
1 | docker rm [容器名或ID] |
删除所有容器
1 | docker rm -f $(docker ps -a -q) |
删除所有镜像
1 | docker rmi -f $(docker images -a -q) |
重置Docker
1 | docker system prune -a -f |
将容器保存为新的模板镜像
1 | docker commit [容器id] [要保存的镜像名]:[标签] |
导出tar包
1 | docker save > xxx.tar [name:tag] |
导入tar包
1 | docker load -i [xxx.tar] |
镜像迁移
1 | pull |
文章导航:
https://blog.csdn.net/weixin_28871731/article/details/112110328
文件操作
拷贝文件到docker容器中
1 | docker cp ./[物理机上文件] [容器ID]:[保存位置绝对路径如/usr/local/samba/etc/smb.conf] |
dockerfile
从已有的image自动映射端口:
1 | FROM vulhub/spring-messaging:5.0.4 |
注意点
- docker save 应该指定镜像名和tag,不应该指定ID,尤其是在更新镜像版本的时候
- docker rmi 应该指定镜像名和tag,不应该指定ID,尤其是在更新镜像版本的时候