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

相关推荐
用户07806253471929 分钟前
getUserMedia 权限排障实战:浏览器拒绝,不一定是用户点了“拒绝”
nginx·webrtc
三言老师34 分钟前
mv移动文件、重命名文件实战案例
linux·服务器·网络·centos
乱世刀疤1 小时前
Claude Code提高工作效率案例:自动化分析工作流程时效性,缩短工单流转时长
运维·自动化
AOwhisky1 小时前
云原生 DevOps 工具链从入门到实战(第二期)——Jenkins安装与基础配置——CICD核心引擎
linux·运维·ci/cd·云原生·jenkins·devops
一叶之秋14122 小时前
Linux网络初识
linux·服务器·网络
盐焗鹌鹑蛋2 小时前
【Linux】基础开发工具yum和vim
linux·运维·vim
AOwhisky2 小时前
Linux(CentOS)系统管理入门笔记(第十四期)——计划任务与进程调度管理:atcron 与 nicechrt
linux·运维·笔记·centos·云计算·进程调度·计划任务
小莫分享2 小时前
sshw:用交互搜索和 Web 配置高效管理 SSH Server
linux·运维·golang·开源·ssh
Molesidy2 小时前
【linux】【全志F133】基于全志F133的busybox编译学习记录以及对于经典根文件系统busybox的学习与理解
linux
冰封之寂2 小时前
Docker Compose 容器编排实战:从入门到 LNMP 环境部署-zabbix监控
docker·容器·zabbix