docker初识

本文介绍了Docker的基础概念,包括镜像、容器和仓库的作用,以及docker的安装验证、镜像管理和容器操作(如搜索、下载、启动、停止、删除)。此外,详细讲解了docker-compose的使用,如启动、停止服务和配置文件示例,以及如何将容器打包成镜像并上传到私有仓库。
摘要由CSDN通过智能技术生成

2、docker

先看公司手册安装docker和了解

2.1.镜像、容器、仓库的概念

镜像:images:

docker镜像类似于就是模板,可以通过模板来创建容器服务。以tomcat镜像==>运行就会生成一个个容器,提供服务的容器,一个镜像可以提供多个容器,(最终服务运行或者项目运行都是在容器中的)

容器:container

docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。

容器的基本命令(启动,停止,删除,…)暂时可以理解为容器为一个简易的微小裁剪的linux系统。

仓库repository:

存放镜像的地方,仓库分为公有的私有的,类似于github。

一般的仓库都是国外的,因此要配置镜像加速。

2.2、docker的原理

docker类似裁剪版的系统一样,我们使用一般是去仓库下载镜像,然后通过镜像可以启动容器,最后进入容器里面就可以进行开发配置了。

2.3、docker常见命令

docker官方文档:Reference documentation | Docker Docs

镜像相关

#docker安装完成之后可以查看版本确定安装成功
docker version
#去仓库搜索指定的镜像,然后可以通过搜索到的镜像名去下载
docker search xxx
#去仓库下载镜像
docker pull 镜像名xxx
#查看所有镜像
docker images 
#镜像删除
docker rmi [image]

容器相关
#新建并启动容器  (不同的容器可以百度他的启动参数如何配置)
docker run [可选参数]  imagename
#可以配合docker-compose.yml文件配置的容器来启动
docker-compose up -d
#查看正在运行的容器
docker ps
#查看所有容器(包括历史的和正在运行的)
docker ps -a
#退出容器后台
exit
#删除容器
docker rm 容器id  不能删除正在运行的容器,  
#容器的启动停止
docker start 容器id
docker restart 容器di
docker stop 容器di
docker kill  容器di
#进入容器 常见的
docker exec -it 容器id bash
#容器内容拷贝到主机
docker cp 容器id:容器路径 主机地址

2.4、docker compose

docker compose 是docker的另一个子项目,可以更加方便地在本地或生产环境中管理多个 Docker 容器。通过定义 Compose 文件也就是YAML 格式的配置文件,您可以轻松地启动、停止、重新构建、扩展和升级整个应用程序的不同组件,定义了应用程序的各个组件、每个组件对应的 Docker 镜像、相应的服务、网络等。

2.4.1、命令学习
#启动docker容器,会先下载镜像,再运行容器
docker-compose up
#后台运行
docker-compose up
#停止服务
docker-compose stop
#重启所有服务
docker-compose restart
#恢复开始
docker-compose start
2.4.2、yaml配置文件说明

Compose 文件使用 YAML 格式定义应用程序的组件、服务、网络和卷等

示例

version: '3'
services:
  web:
    build: .
    ports:
      - "5000:5000"
  redis:
    image: "redis:alpine"
  dapr_camera:
   	image:"xxx"
   	netword_mode:host
   	container_name:dapr_camera
   	working_dir:/app/build
   	restart:always
   	logging:
   		driver:"json-file"
   		option:
   			max-size:"500m"
   			max-file:"3"
   	volumes:
   		- ../../senConfig:/app/build/senConfig
   	command:bash -c "xxx/xx.sh"
   	#command:bash -c "tail -f /dev/null"
version #版本
services:#定义要启动的服务列表及每个服务的配置。
web、redis、dapr_camera:#表示具体的服务名称,下面的项表示该服务的相关配置
build:#需要构建镜像时使用的,是指构建镜像的dockerfile的上下文。
ports: #指定端口映射规则,将主机的端口映射到容器中的端口
- "5001:5000" #表示容器的5000端口对应主机的5001端口
image:#指定要使用的 Docker 镜像名称,如果不存在,则自动从 Docker Hub 下载。
netword_mode:#指定网络的模式,可以是host、bridge、none。
	[host表示与宿主机共享网络,也就是在网络这块不会与宿主机隔离,而是共享宿主机的网络配置,并且 容器不会分配自己的ip地址由于不需要端口映射,host网络的性能较高.]
	[bridge,即桥接网络,以桥接模式连接到宿主机,创建一个独立网络可以通过自定义bridge将多个容器互通]
	[none, 无网络,容器将无法联网。]
	[overlay.用于swarm集群中容器的跨主机网络访问]
container_name:起来容器的名称
restart:重启方式,是否会启动服务程序
logging:日志记录配置。
volumes:是将主机上的文件或目录与容器中的文件或目录进行映射,实现数据共享的功能。宿主机目录:容器目录
command:容器启动后默认执行的命令

docker compose logs | Docker Docs

2.5、docker容器打包成镜像

docker commit -a "name" -m "备注" containID mirrorsName 
#然后就可以docker images查看得到了
#登录docker镜像私有网络
docker login xxx网址
#上传镜像到镜像服务器
docker push mirrorsName

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值