1. 运行容器
假设你想要运行一个基于官方 MySQL 镜像的容器,并且映射端口、设置环境变量以及持久化数据:
docker run --name my-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /mydata:/var/lib/mysql -d mysql:latest
# openeuler镜像必须加上-it参数才可以正常运行,--privileged特权模式运行,不是必须的
docker run --name openeuler -itd --privileged openeuler/openeuler /bin/bash2. 列出正在运行的容器
查看当前正在运行的所有容器:
docker ps3. 查看镜像列表
列出本地主机上所有的 Docker 镜像:
docker images4. 从 Docker Hub 拉取镜像
下载最新的 Ubuntu 镜像:
docker pull ubuntu:latest5. 推送镜像到 Docker Hub
将名为 myimage 的镜像推送到 Docker Hub 的 username 用户下:
docker push username/myimage6. 启动已停止的容器
启动一个之前停止的容器 mycontainer:
docker start mycontainer7. 停止容器
停止一个运行中的容器 mycontainer:
docker stop mycontainer8. 删除容器
删除一个不再需要的容器 mycontainer:
docker rm mycontainer9. 在容器内执行命令
在容器 mycontainer 内运行 ls 命令:
docker exec mycontainer ls10. 获取容器日志
查看容器 mycontainer 的日志输出:
docker logs mycontainer11. 连接到容器
连接到容器 mycontainer 的标准输入、输出和错误流:
docker attach mycontainer12. 构建镜像
使用当前目录下的 Dockerfile 构建一个名为 myimage 的镜像:
docker build -t myimage .13. 保存镜像到文件
将 myimage 镜像保存为 myimage.tar 文件:
docker save -o myimage.tar myimage14. 加载镜像
从 myimage.tar 文件加载镜像:
docker load -i myimage.tar15. 删除镜像
删除一个不再需要的镜像 myimage:
docker rmi myimage16. 停止所有容器
在删除容器之前,你需要确保它们都处于停止状态。如果有些容器正在运行,可以使用以下命令来停止它们:
docker stop $(docker ps -a -q)17. 删除所有容器
一旦容器都停止了,你可以使用以下命令来删除所有容器:
docker rm $(docker ps -a -q)或者使用 -f 强制删除选项:
docker rm -f $(docker ps -a -q)注意:`-f` 选项会强制删除容器,即使它正在运行也会尝试停止并删除。
18. 删除所有镜像
如果你想删除所有镜像,可以使用以下命令:
docker rmi $(docker images -q)或者使用 -f 强制删除选项:
docker rmi -f $(docker images -q)注意:在删除镜像前确保没有容器正在使用这些镜像,否则你将收到错误信息。
19. 删除未被任何容器使用的镜像
只有当镜像没有被任何容器使用时,你才能删除它们。可以使用以下命令来删除所有未使用的(悬空的)镜像:
docker rmi $(docker images -f "dangling=true" -q)20. 删除包含特定标签的镜像
如果你只想删除带有特定标签的镜像,可以使用以下命令:
docker rmi <your-image-tag>如果你想删除所有带有相同标签的镜像,可以使用通配符:
docker rmi $(docker images -q | grep "<your-tag>")