Docker基本操作

2023-09-17 17:26:59

目录

Docker基本操作

镜像操作

拉取、查看镜像

保存、导入镜像

容器操作

创建并运行一个容器

进入容器,修改文件

数据卷

给nginx挂载数据卷

给MySQL挂载本地目录


Docker基本操作

镜像操作

拉取、查看镜像

需求:从DockerHub中拉取一个nginx镜像并查看

1)首先去镜像仓库搜索nginx镜像,比如DockerHub:

2) 根据查看到的镜像名称,拉取自己需要的镜像,通过命令:docker pull nginx

3)通过命令:docker images 查看拉取到的镜像

保存、导入镜像

利用docker save将nginx镜像导出磁盘,然后再通过load加载回来

1)利用docker xx --help命令查看docker save和docker load的语法

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

 docker save --help

命令格式:

docker save -o [保存的目标文件名称] [镜像名称]

2)使用docker save导出镜像到磁盘

docker save -o nginx.tar nginx:latest

3)使用docker load加载镜像

先删除本地的nginx镜像:

docker rmi nginx:latest

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

docker load -i nginx.tar

容器操作

容器相关命令:

  • docker run:创建并运行一个容器,处于运行状态

  • docker pause:让一个运行的容器暂停

  • docker unpause:让一个容器从暂停状态恢复运行

  • docker stop:停止一个运行的容器

  • docker start:让一个停止的容器再次运行

  • docker rm:删除一个容器

创建并运行一个容器

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

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

命令解读:

  • docker run :创建并运行一个容器

  • --name : 给容器起一个名字,比如叫做mn

  • -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口

  • -d:后台运行容器

  • nginx:镜像名称,例如nginx

查看容器状态:

docker ps
​
docker ps -a 查看所有容器,包括已经停止的

查看容器日志命令:

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

进入容器,修改文件

进入容器命令:

docker exec -it mn bash

命令解读:

  • docker exec :进入容器内部,执行一个命令

  • -it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互

  • mn :要进入的容器的名称

  • bash:进入容器后执行的命令,bash是一个linux终端交互命令

删除容器:

docker rm mn
​
docker rm -f mn 强制删除一个容器

数据卷

是一个虚拟目录,指向宿主机文件系统中的某个目录

数据卷的作用:

  • 将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全

数据卷操作:

  • docker volume create:创建数据卷

  • docker volume ls:查看所有数据卷

  • docker volume inspect:查看数据卷详细信息,包括关联的宿主机目录位置

  • docker volume rm:删除指定数据卷

  • docker volume prune:删除所有未使用的数据卷

给nginx挂载数据卷

创建容器并挂载数据卷到容器内的HTML目录

docker run --name mn -v html:/usr/share/nginx/html -p 80:80 -d nginx

进入html数据卷所在位置,并修改HTML内容

# 查看html数据卷的位置
docker volume inspect html
# 进入该目录
cd /var/lib/docker/volumes/html/_data
# 修改文件
vi index.html

给MySQL挂载本地目录

1)先拉取mysql的镜像

2)创建目录/tmp/mysql/data

3)创建目录/tmp/mysql/conf,将课前资料提供的hmy.cnf文件上传到/tmp/mysql/conf

创建mysql容器:

docker run \
  --name mysql \
  -e MYSQL_ROOT_PASSWORD=123 \
  -p 3306:3306 \
  -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
  -v /tmp/mysql/data:/var/lib/mysql \
  -d \
  mysql:5.7.25

数据卷挂载与目录直接挂载的

  • 数据卷挂载耦合度低,由docker来管理目录,但是目录较深,不好找

  • 目录挂载耦合度高,需要我们自己管理目录,不过目录容易寻找查看

更多推荐

瑞慈医疗:H1体检业务同比上涨101.2%,因何领跑医疗健康行业?

悄然间,医疗健康行业碰上历史性变革。水面之上,医院体检医院体检人潮涌动,愈来愈多的医院迈上扩建体检中心的步伐,赛道激增20%为所有科室之首。水面之下,依靠信息技术使体检数字化、智能化的转型浪潮,也在蕴藏着猛烈的上升趋势。新的黄金十年,是这个赛道进发的猛烈信号。毫无疑问,一个崭新的医疗健康行业未来,正在此刻发生。瑞慈医疗

mybatis-plus 自动生成代码

引入依赖<!--mybatisplus代码生成器引擎依赖--><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity</artifactId><version>1.7</version></dependency><!--mybatis

vue-cli vue3

安装clinpmi-g@vue/cli@4.5.13查看版本:vue-V升级版本:npmupdate-g@vue/cli升级在v3.0.0版本中是不支持的最新的scriptsetup语法执行指令升级:npmivue@3.2.8vue-router@4.0.11vuex@4.0.2"vue":"^3.2.8","vue-

路由器端口转发

什么是路由器端口转发路由器端口转发是一种网络配置技术,用于将公共网络(如互联网)上的请求转发到私有网络中的特定设备或服务。它允许外部设备通过路由器访问内部网络中的设备或服务,实现网络上的通信和互动。路由器端口转发的作用路由器端口转发的作用是允许公共网络中的设备或用户通过路由器访问私有网络中的特定设备或服务。它可以实现以

LeetCode 1337. The K Weakest Rows in a Matrix【数组,二分,堆,快速选择,排序】1224

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及

STM32F4X UCOSIII 事件集

STM32F4XUCOSIII事件集事件的应用场景UCOSIII事件工作机制UCOSIII事件操作函数事件创建函数事件删除函数事件发送函数事件接收函数UCOSIII事件例程事件在RTOS中也是一种任务间同步的机制,事件不能传递数据。跟信号量不同的是,事件可以实现一对多,多对多的同步,也就是一个事件可以唤醒多个任务,一个

2022/9/13总结

Vue路由的封装抽离为了便于维护,我们通常需要将路由模块抽离出来在vue中,如果要写路径,可以写绝对路径使用@@代表从src目录下去寻找,能避免出现很多错误声明式导航--导航链接vue-router提供了一个全局组件router-link(取代a标签)配置to属指定路径本质是a标签,to无需#优点:能高亮默认会提供高亮

人工智能AI 全栈体系(五)

第一章神经网络是如何实现的为什么使用ReLu函数?五、梯度消失问题1.什么是梯度消失问题?前面我们介绍的BP算法中,是这样更新权重值的:δ∗h=oh(1−oh)∑∗k∈后续(h)δ∗kw∗kh\delta*h=o_h(1-o_h)\sum*{k\in后续(h)}\delta*kw*{kh}δ∗h=oh​(1−oh​)∑

百度SEO优化不稳定的原因分析(提升网站排名的稳定性)

百度SEO优化不稳定介绍蘑菇号-www.mooogu.cnSEO不稳定是指网站在搜索引擎中的排名不稳定,随着时间的推移会发生变化。这种情况可能会出现在网站页面结构、内容质量、外链质量等方面存在缺陷或不合理之处。因此,优化SEO非常重要,可以提高网站的稳定性和排名。掌上帮教-www.zsbjiao.cn百度SEO不稳定因

Unity制作射击游戏案例01

整理逻辑思路://【业务逻辑】这个脚本用来1.控制物体移动旋转(WASD)、2.发射子弹(空格键)//【程序逻辑2】首先检测用户没有按下空格键2.如果按下呢执行发射子弹函数3.克隆子弹4.让克隆的子弹往前跑搭建场景为子弹模板添加刚体,并且限制旋转编写脚本:usingSystem.Collections;usingSys

MySQL 高级语句 Part1(进阶查询语句+MySQL数据库函数+连接查询)

高级语句第一部分一、MySQL进阶查询语句1.1select----显示表格中一个或数个字段的所有数据记录1.2distinct----不显示重复的数据记录1.3where----有条件查询1.4andor----且或1.5in----显示已知的值的数据记录1.6between----显示两个值范围内的数据记录1.7通

热文推荐