KVM虚拟化与Docker基础实践-第三章

一、Docker镜像与容器基础操作

Docker镜像操作

经过测试,最近阿里云的加速器有点不稳定,可能出现拉取失败的情况,测试了多个加速器后,更换为以下这个比较稳定的,具体修改操作指令和截图如下(root用户):

tee /etc/docker/daemon.json <<EOF

{

"registry-mirrors": "https://docker.m.daocloud.io"

}

EOF

systemctl restart ddocker

然后我们拉取几个镜像,debian:12,nginx:latest,mysql:5.7,tomcat:latest

docker pull nginx:latest

docker pull mysql:5.7

docker pull debian:12

docker pull tomcat:latest

使用docker images命令查看拉取到的镜像

接着我们导出进行环境为tar文件,这样我们删除后可以快速恢复这些镜像。

docker save -o nginx-latest.tar nginx:latest

docker save -o mysql-5.7.tar mysql:5.7

docker save -o tomcat-latest.tar tomcat:latest

docker save -o debian-12.tar debian:12

导出成功后接下来我们删除这些镜像

docker rmi -f nginx:latest

docker rmi -f mysql:5.7

docker rmi -f tomcat:latest

docker rmi -f debian:12

再尝试从tar文件中恢复这些镜像

docker load -i nginx-latest.tar

docker load -i mysql-5.7.tar

docker load -i tomcat-latest.tar

docker load -i debian-12.tar

回复成功我们输入docker images又可以查看到这些镜像了。

Docker容器操作

接下来我们进入到Nginx 容器操作(创建、端口映射、查看、进入、停止、重启、删除、日志、资源监控),先执行docker run -d --name my-nginx -p 8080:80 nginx:latest创建并骑电动Nginx容器,映射主机8080端口到容器80端口,让后docker ps可以查看运行中的容器,docker ps -a可以查看所有容器包括停止运行的。然后docker exec -it my-nginx bash命令可以进入容器内部(交互式bash窗口),进入后我们可以执行一些基础操作,像ls ,cat /etc/os-release等,输入exit就可以退出了。之后是一些停止和启动命令

docker stop my-nginx

docker start my-nginx

docker restart my-nginx

最后docker logs my-nginx命令可以查看容器日志。

docker stats my-nginx命令可以查看容器资源使用情况,退出使用ctrl+c。

容器服务验证

先执行docker start my-nginx命令确保Nginx容器运行中,然后使用curl测试本地访问curl http://localhost:8080

下面的是Tomcat服务,和Nginx是一样的,只是地址有所改变,具体命令和截图如下:

docker run -d --name my-tomcat -p 8081:8080 tomcat:latest

curl http://localhost:8081

docker logs my-tomcat

docker stats my-tomcat

以上就是所有的内容了,如果你想要在做完后删除的话就继续执行以下命令:

停止所有运行中的容器

docker stop $(docker ps -q)

删除所有已停止的容器

docker container prune -f

删除所有未使用的镜像(悬空镜像)

docker image prune -a -f

删除所有未使用的卷(可选)

docker volume prune -f

查看清理后剩余资源

docker ps -a docker images

相关推荐
Tian_Hang10 小时前
Eclipse Ditto 物模型相关代码
java·运维·服务器·ide·eureka·eclipse
云烟成雨TD10 小时前
Kubernetes 系列【4】基础概念
云原生·容器·kubernetes
假如梵高是飞行员10 小时前
WSL2 从 img 镜像文件启动特定 Linux 发行版完整指南
linux·windows·wsl
zhoupenghui16811 小时前
【AI大模型应用开发】【项目实战】13.RAG智慧问答项目-(一)项目介绍&项目架构&项目环境配置
人工智能·docker·ai·milvus·rag·attu·rag智慧问答项目
瓶中怪11 小时前
ROS2 机器人软件系统
linux·c++·python·ubuntu·vmware·ros2·机器人软件开发
iangyu11 小时前
linux配置时间同步
linux·运维·服务器
云烟成雨TD12 小时前
Kubernetes 系列【3】使用 kubeadm 创建 K8s 集群
云原生·容器·kubernetes
天空'之城12 小时前
Linux 系统编程 04:进程基础
linux·开发语言·进程基础
从零开始的代码生活_12 小时前
NAT、代理服务与内网穿透详解
linux·服务器·网络·c++·http·智能路由器
灯厂码农12 小时前
C语言内存管理——内存对齐与共用体union
linux·服务器·c语言