Docker常用笔记

本文深入解析Docker容器技术,涵盖概念、安装步骤、镜像与容器操作、数据卷和网络配置。从镜像拉取到容器编排,详述Docker在现代部署流程中的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Docker概念

docker是开源的应用容器引擎,将应用及依赖打包到可移植的容器中,发布到linux下
linux部署应用: 装linux + tomcat 应用部署到tomcat 坏处:linux启动慢
dicker部署应用: 应用 + tomcat 做成镜像,启动快。

二、开始

1、安装:有版本要求:centos7+ 其他环境可升级内核
yum install docker -y 安装
docker --version 检查版本
systemctl start docker 启动docker
systemctl enable docker 添加开机启动项
docker info 查看状态

2、概念
镜像:镜像可做成文件用于传输,再将文件还原成镜像
仓库:docker hub一个镜像仓库, 内有tomcat,mysql等镜像
容器:容器与镜像的关系类似于面向对象编程中的对象与类,通过镜像来创建容器。

3、操作:
镜像:
网络搜索镜像: docker search tomcat
拉取镜像:docker pull mysql:5.7.22 镜像名:版本

   查看镜像:docker images  是docker image ls简写
   删除镜像: docker image rm 镜像名:版本

容器:
根据镜像启动容器:docker run -d --name yd-8080 -p 8080:8080 yd-8080
-d后台启动 --name起容器名 -p 将linux外部端口映射到容器内部8080端口 启动成功有id唯一标识
docker run --name mysql2 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=‘123456’ -d mysql:5.7.22
-v volumes:存储

   查看容器启动日志:docker logs 容器id/容器名
  
   启动容器:docker start 容器名/id
   
   查看有哪些容器:docker ps
   查看启动的容器:docker ps -a

   停止容器:docker stop  容器名称/容器ID
   删除容器:docker rm –f 容器id:删除一个容器(如果容器正在运行需要加-f)

   进入容器:docker exec -it nginx /bin/bash    进入到容器里,容器里又有一套linux系统
   
   
   将文件拷贝容器的某个目录下:docker cp nginx.conf nginx:/etc/nginx
 
  构建镜像:
    1、docker commit t1 ssm:1.0       将一个启动的容器做成镜像
    2、使用docker file构建 (最常用)  让你能看到操作过程的命令
   以别人构建好的镜像为基础  来进行构建 
       先创建一个目录,创建一个Dockerfile文件,war包要放在同一级目录下

   	docker build -t she:2.0 .     运行Dockerfile文件创建镜像 

单节点的容器编排:docker compose
管理单节点上的所有容器,配置yml文件,利用文件启动

多节点的容器编排:swarm:docker本身的集群容器编排工具
k8s:谷歌的容器集群编排工具
用于管理一套容器集群,只需要让用户面向工具

三、常用

单节点的容器编排:docker compose //管理单节点上的所有容器,配置yml文件,利用文件启动
docker build -t s-8080 . //运行Dockerfile文件创建镜像
docker-compose up -d //执行docker-compose.yml文件

docker logs -f -t --tail 30 tomcat1 //实时查看容器tomcat1t的最后30行日志
参考:docker容器日志查看

1.数据卷的使用

参考:docker数据卷

docker volume ls //查看所有数据卷
docker volume inspect myvo //查看数据卷详细信息
docker volume rm myvo //删除数据卷
共享volume(–volume-from)容器与已有的容器共享volume

2.Docker network

docker提供了多种网络驱动:
bridge:默认的网络驱动。常用于独立的容器群中内部通信,容器和宿主机的网络是隔离的。
host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
overlay:提供多个docker守护进程管理的容器间的通信能力,包括swarm服务之间、swarm服务和独立容器群之间以及独立容器之间。
macvlan:允许你给容器分配一个MAC地址,让它作为一个物理网路装置。
none:无网络状态。

参考:Docker network命令

当然,我会帮助你记录和学习Docker的知识点。下面是一份Docker学习笔记: 1. 什么是DockerDocker是一个开源的容器化平台,可以帮助开发者创建、打包、部署和运行应用程序,使应用程序可以在不同的环境中无缝运行。 2. Docker的优势有哪些? - 轻量化:Docker容器与虚拟机相比更加轻量级,启动和停止速度更快。 - 可移植性:Docker容器可以在任何支持Docker的平台上运行,无需担心环境不一致的问题。 - 隔离性:Docker使用容器技术进行隔离,每个容器之间相互独立,不会相互影响。 - 效率:Docker可以将应用程序及其依赖项打包为一个镜像,部署和扩展非常方便。 3. Docker常用的概念: - 镜像(Image):一个只读的模板,包含了运行应用程序所需的所有文件和依赖项。 - 容器(Container):基于镜像创建的可执行实例,可以运行、停止、删除等操作。 - 仓库(Registry):用于存储和分享镜像的地方,常用的有Docker Hub。 - Dockerfile:用于定义镜像构建过程的文本文件,包含了一系列的指令和配置。 4. Docker基本使用命令: - `docker pull <image-name>`:从仓库中拉取指定镜像。 - `docker run <image-name>`:创建并运行一个新的容器。 - `docker ps`:查看当前正在运行的容器。 - `docker stop <container-id>`:停止指定容器的运行。 - `docker rm <container-id>`:删除指定容器。 - `docker rmi <image-name>`:删除指定镜像。 5. Docker常见应用场景: - 镜像管理:可以通过Docker镜像进行应用程序开发、测试和部署。 - 微服务架构:通过容器化实现应用程序的模块化,方便管理和扩展。 - CI/CD:在持续集成和持续部署过程中使用Docker来构建、测试和发布应用程序。 这些是Docker学习过程中的一些基础知识点和常用命令。希望对你有帮助!如果你还有其他问题,可以随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值