Docker学习总结(一)

简介: Docker学习总结(一)

1、镜像操作


1.1 拉取、查看镜像


步骤一:  首先去镜像仓库搜索nginx镜像,比如[DockerHub](  Docker Hub Container Image Library | App Containerization ) :


网络异常,图片无法展示
|


网络异常,图片无法展示
|


步骤二:  根据查看到的镜像名称,拉取自己需要的镜像


通过命令:docker pull nginx


注:镜像名称一般分两部分组成:[repository]:[tag]。


网络异常,图片无法展示
|


在没有指定tag时,默认是latest,代表最新版本的镜像


网络异常,图片无法展示
|


网络异常,图片无法展示
|


步骤三: 通过命令:docker images 查看拉取到的镜像


网络异常,图片无法展示
|


1.2 保存、导入镜像


步骤一:利用docker xx --help命令查看docker save和docker load的语法


例如,查看save命令用法,可以输入命令:


docker save --help


网络异常,图片无法展示
|


步骤二:使用docker save导出镜像到磁盘 ,命令格式如下:


https://developer.aliyun.com/article/1109085


运行命令:


https://developer.aliyun.com/article/1109085

结果如图:

网络异常,图片无法展示
|


步骤三:使用docker load加载镜像(大家也先可以使用docker xx --help命令查看语法)


先删除本地的nginx镜像:


docker rmi nginx:latest


网络异常,图片无法展示
|


然后运行命令,加载本地文件:


docker load -i nginx.tar



结果:


网络异常,图片无法展示
|


1.3 小结


镜像操作有哪些?
查看镜像:docker images
删除镜像:docker rmi
拉取镜像:docker pull
推送镜像:docker push
保存镜像:docker save
加载镜像:docker load


2、容器操作


容器保护三个状态:


  • 运行:进程正常运行
  • 暂停:进程暂停,CPU不再运行,并不释放内存
  • 停止:进程终止,回收进程占用的内存、CPU等资源


命令:


  • docker run:创建并运行一个容器,处于运行状态
  • docker pause:让一个运行的容器暂停
  • docker unpause:让一个容器从暂停状态恢复运行
  • docker stop:停止一个运行的容器
  • docker start:让一个停止的容器再次运行
  • docker rm:删除一个容器


2.1 创建容器


创建并运行nginx容器的命令:


docker run --name containerName -p 80:80 -d nginx


网络异常,图片无法展示
|


命令解读:
docker run :创建并运行一个容器
--name : 给容器起一个名字,比如叫做mn
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
nginx:镜像名称,例如nginx


注:这里的-p参数,是将容器端口映射到宿主机端口。


默认情况下,容器是隔离环境,我们直接访问宿主机的80端口,肯定访问不到容器中的nginx。


现在,将容器的80与宿主机的80关联起来,当我们访问宿主机的80端口时,就会被映射到容器的80,这样就能访问到nginx了:


记得开启端口号!(或者可以直接关闭防火墙)


1.查看防火墙状态


 firewall-cmd --state


2.开启防火墙


systemctl start firewalld.service


3.开启端口


firewall-cmd --zone=public --add-port=80/tcp --permanent

4.重启防火墙(不重启以上的设置是不会生效的)


firewall-cmd --reload

现在可以去浏览器访问一下80端口,只要出现Nginx的首页就代表成功了。


网络异常,图片无法展示
|


2.2 进入容器,修改文件


需求:进入Nginx容器,修改HTML文件内容,添加“点赞+关注”


进入容器。进入我们刚刚创建的nginx容器的命令为:


docker exec -it containerName bash


命令解读:


  • docker exec :进入容器内部,执行一个命令
  • -it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  • containerName:要进入的容器的名称
  • bash:进入容器后执行的命令,bash是一个linux终端交互命令


网络异常,图片无法展示
|


注:容器内部会模拟一个独立的Linux文件系统,看起来如同一个linux服务器一样:


网络异常,图片无法展示
|


nginx的环境、配置、运行文件全部都在这个文件系统中,包括我们要修改的html文件。


进入nginx的HTML所在目录 /usr/share/nginx/html


我们执行命令,进入该目录:


cd /usr/share/nginx/html


查看目录下文件:


网络异常,图片无法展示
|


容器内没有vi命令,无法直接修改,我们用下面的命令来修改:


sed -i -e 's#Welcome to nginx#求个关注+点赞!#g' -e 's#<head>#<head><meta charset="utf-8">#g' index.html


我们再用浏览器访问一下:


网络异常,图片无法展示
|


输入exit就可以退出了


网络异常,图片无法展示
|


2.3 查看容器


查看正在运行的容器


 docker ps

查看所有状态的容器


docker ps -a


2.4 删除容器


删除容器(不能删除正在运行的容器)

docker rm 容器的名字


网络异常,图片无法展示
|


强制删除

docker rm -f 容器的名字


网络异常,图片无法展示
|


2.5 小结


docker run命令的常见参数有哪些?


  • --name:指定容器名称
  • -p:指定端口映射
  • -d:让容器后台运行


查看容器日志的命令:


  • docker logs
  • 添加 -f 参数可以持续查看日志


查看容器状态:


  • docker ps
  • docker ps -a 查看所有容器,包括已经停止的
目录
相关文章
|
2月前
|
运维 虚拟化 开发者
Docker-全面详解(学习总结---从入门到深化)
Docker-全面详解(学习总结---从入门到深化)
47 1
|
3月前
|
分布式计算 Java Linux
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
Docker 是一套构建在 Linux 内核之上的高级工具,旨在帮助开发人员和运维人员更轻松地交付应用程序和依赖关系,实现跨系统和跨主机的部署。使用安全且轻量级的容器环境来实现这一目标。容器可以手动创建,也可以通过编写 Dockerfile 自动创建。开发人员和运维人员可以将应用程序及其依赖打包到容器中,实现应用程序的可移植性和环境一致性。
96 5
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
|
2月前
|
Ubuntu 应用服务中间件 Docker
docker-学习
docker-学习
20 0
|
2月前
|
消息中间件 RocketMQ Docker
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)
53 0
|
3月前
|
存储 运维 Linux
精彩推荐 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
在使用Docker时,管理维护工作可能会显得复杂。然而,实际上,Docker提供了许多便捷且人性化的工具,这些工具的使用技巧可以大大简化维护工作,并提升效率。通过掌握这些技巧,你不仅能够更轻松地管理Docker环境,还能展现出专业的能力。接下来我们就给大家介绍一下对于我在工作当中对于Docker容器使用的技术实战总结
48 2
精彩推荐 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
|
3月前
|
消息中间件 RocketMQ Docker
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)(下)
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)
30 0
|
消息中间件 RocketMQ Docker
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)(上)
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)
64 0
|
3月前
|
Java 应用服务中间件 Shell
|
3月前
|
存储 Ubuntu Docker
|
3月前
|
Kubernetes iOS开发 Docker
为什么你应该学习 Docker 🐋 和 Kubernetes ☸️?
如果您是一名开发人员,我相信您一定听说过这句话:“它可以在我的机器上运行”。当我们的代码在您的计算机上运行但在朋友的计算机上表现不佳时,这是令人心碎的。
23 0