当前位置: 首页 > news >正文

01-Docker-简介、安装与使用

1. docker简介

  • Docker 是一个应用打包、分发、部署的工具
  • 你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,
  • 而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。

2. 相关概念

2.1 容器

轻量化的运行实例,包含应用代码、运行时环境和依赖库。通过镜像创建,可以理解为一个简易的linux系统。

2.2 镜像

只读模板,定义了容器的运行环境(如操作系统、软件配置等)。

2.3 仓库

存放镜像的地方,分为公有仓库和私有仓库

3. 安装

  • 以macos为例(命令行安装)
brew install --cask docker
  • 启动docker
open -a Docker

4.配置镜像加速

  • 打开docker-设置- Docker Engine
    在这里插入图片描述
"registry-mirrors": ["https://docker.m.daocloud.io/","https://huecker.io/","https://dockerhub.timeweb.cloud","https://noohub.ru/","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://xx4bwyg2.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]

点击 Apply & Restart 重启 Docker。

  • 验证 Docker 运行
docker run hello-world

5. docker常用命令

5.1 帮助命令

docker --version		# 显示版本信息
docker info				# 显示系统信息
docker 命令 --help 		# 万能命令

5.2 镜像命令

docker images		# 查看所有本地的主机上的镜像# 可选项-a, -all		# 列出所有镜像-q, --quiet		# 只显示镜像的id
docker search		# 搜索镜像# 可选项
--filter=STARS=3000		# 搜索出来的镜像是STARS大于3000的
docker pull			# 下载镜像
docker rmi		# 删除镜像
docker rmi -f 容器id		# 删除指定镜像
docker rmi -f 容器id	 容器id 容器id 容器id		 # 删除多个镜像
docker rmi -f $(docker images -aq)		# 删除全部镜像

5.3 容器命令

  • 说明: 有了镜像才可以创建容器。下载一个nginx镜像进行测试学习
docker pull nginx
  • 新建容器并启动
docker run [可选参数] image# 参数说明
--name="Name"	容器名字 
-d				后台方式运行
-it				使用交互方式运行,进入容器查看内容
-p				指定容器端口 -p 8080:8080-p ip:主机端口:容器端口-p 主机端口:容器端口	(常用)-p 容器端口
-p				随机指定端口

测试,启动并进入容器

(base) 123@myiy ~ % docker run -it nginx /bin/bash
root@70276d8feeeb:/# ls
bin   dev		   docker-entrypoint.sh  home  media  opt   root  sbin	sys  usr
boot  docker-entrypoint.d  etc			 lib   mnt    proc  run   srv	tmp  var
root@70276d8feeeb:/# exit	
  • 列出所有运行的容器
docker ps 命令-a		# 列出正在运行的容器+历史运行过的容器
-n=# 最近创建过的容器
-q		# 只显示容器的编号
  • 退出容器
exit	# 直接容器退出并停止
ctrl + P + Q	# 容器不停止退出
  • 删除容器
docker rm 容器id			# 删除指定容器,不能删除正在运行的容器
docker rm -f $(docker ps -aq)		# 删除所有容器
docker ps -a -q|xargs docker rm		# 删除所有容器
  • 启动和停止容器
docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id

5.4 常见其他命令

  • 后台启动命令
docker run -d 镜像名
  • 查看日志
docker logs -f -t --tail 容器,没有日志
  • 查看容器中进程信息
docker top 容器id
  • 查看镜像元数据
docker inspect 容器id
  • 进入当前正在运行的容器
docker exec -it 容器id /bin/bash
或者
docker attach 容器id
  • 从容器内拷贝文件到主机(拷贝是手动的,未来使用-v卷技术,实现自动)
docker cp 容器id:容器内路径 目的主机路径

6. 作业练习

Docker安装nginx

# 1,搜索镜像
# 2.下载镜像
docker pull nginx
# 3.运行测试
docker run -d --name nginx01 -p 3344:80 nginx-d: 后台运行--name : 给容器命名-p 宿主机端口:容器端口
# 4.进入容器
docker exec -it nginx01 /bin/bash

docker安装tomcat

# 0.官方(用完即删除)
$ docker run -it --rm tomcat:9.0# 1.下载镜像
docker pull tomcat:9.0
# 2.启动运行
docker run -d --name tomcat01 -p 3355:8080 tomcat
# 3.进入容器
docker exec -it tomcat01 /bin/bash
http://www.lryc.cn/news/625511.html

相关文章:

  • 大数据MapReduce架构:分布式计算的经典范式
  • 【力扣 Hot100】 刷题日记——双指针的经典应用
  • 【Linux仓库】进程创建与进程终止【进程·柒】
  • iOS App 混淆工具实战,教育培训类 App 的安全保护方案
  • GEO 优化专家孟庆涛:技术破壁者重构 AI 时代搜索逻辑
  • 利用DeepSeek编写的用于写入文本字符串和二进制数据到zip压缩包中的文件的程序
  • 私有化部署全攻略:开源模型本地化改造的性能与安全评测
  • C语言:字符函数与字符串函数(1)
  • OpenGL 法线
  • 【群晖NAS】在openwrt上实现内网穿透,并配置外网IP映射(Debian/Ubuntu)
  • 使用 Resilience4j 实现 Spring Boot 服务限流:轻量级容错的最佳实践
  • 基于单片机身体健康监测/身体参数测量/心率血氧血压
  • Linux 进程间通信(IPC):信号、共享内存
  • 基于Java(SSM框架)+MySQL实现(Web)的超市管理系统
  • 2025.8.19总结
  • Python 函数进阶:深入理解参数、装饰器与函数式编程
  • 服务器Linux防火墙怎样实现访问控制
  • AAA服务器技术
  • 【实时Linux实战系列】基于实时Linux的智能工业机器人开发
  • 通过分布式系统的视角看Kafka
  • Lua学习记录 - 自定义模块管理器
  • 机械设备制造行业物联网智能化升级改造方案
  • 【habitat学习一】Habitat-Lab 配置键文档详解(CONFIG_KEYS.md)
  • 前端多环境变量配置全攻略:开发 / 测试 / 生产自动切换实战
  • APM32芯得 EP.29 | 基于APM32F103的USB键盘与虚拟串口复合设备配置详解
  • 清空 github 仓库的历史提交记录(创建新分支)
  • HUD抬头显示器太阳光模拟器设备用于杂散光测试介绍
  • 第4章 React状态管理基础
  • 【SpringBoot】Dubbo、Zookeeper
  • QT之QWaitCondition降低cpu占用率,从忙等待到高效同步