Windows10系统之家 - 安全纯净无插件系统之家win10专业版下载安装
时间:2023-11-21 16:35:03 来源:Windows10之家 作者:admin
1、程序需要前台运行
程序必须前台执行,如果是java进程的话 不要有nohup 或者使用service的方式进行后台运行
否则可能会出现频繁启动应用的问题
原因就是docker只能管理运行中的镜像的一个进程(所以没有特殊需要不要一个镜像执行后出现两个进行的现象,尽量使用k8s的pod来解决)
2、日志要前台打印
日志直接console前台输出即可,docker会自动收集stdout输出的日志。不要存在打两份日志的设置,比如一份file,一份console等。
3、配置文件最好放在镜像内或远程可读取,非必要不要进行卷挂载目录进行读取
有些程序的配置文件是外置的,运行包和配置文件没有在一个执行包中。
如果有以上情况可以将配置文件和运行包都包含在镜像当中。
如果有些配置文件需要在不同的环境下做出修改或更换,就需要对应用程序进行分别打镜像或者改造一下程序,使其只是远程获取配置文件。分别打镜像不太符合整个发布流程,因为分别打镜像包中间可能会有差异,造成生产和开发测试不同。
还有一种方法就是使用k8s的configmap的服务来解决对应读取文件的问题。
4、数据卷的使用
每个容器运行之后不管你有没有显示的指定创建数据卷,都会有一个临时卷的存在,来存储一些临时生成的文件
这些临时文件会随着容器的生命周期而变化
如果你直接指定创建了数据卷,一定要创建在共享存储里面
否则会出现容器漂移之后读不到数据的情况
这种服务就叫做“有状态”的服务,一般我们的服务要做到“无状态”的
如果你的服务是有状态的,可以借助k8s的statuefulset来实现,包括启动顺序和给服务编号等操作。
5、网络相关的注意事项(不要有创建网络相关的操作)
(我们几乎用不到)
要让docker内服务识别正确的网卡
6、dockerfile
这里我定义了一个springboot微服务对应的dockerfile文件用来打镜像包,不管你现在用什么方式最后本质上都是使用 dockerfile来打镜像的
(如果我们的上线流程不是一个人完成,那么不建议使用maven插件的形式进行打镜像包,因为运维或者测试人员很可能不懂你的maven文件也不能修改你的pom配置,这样可能会给后期维护造成麻烦。dockerfile是唯一知道生成镜像依据的文件,可以使用版本控制进行管理随着你的应用进行升级等。镜像是一个黑盒子可以在docker文件系统中使用它,但是他不是一个独立的文件。)
Docker是一种用于创建和部署可移植容器的开源工具。以下是使用Docker帮助他的步骤:
安装Docker:在计算机上安装Docker。可以从Docker官方网站下载最新版本的Docker。
创建一个新的容器:使用Docker的“Run”命令,在命令行中输入以下命令来创建一个新的容器:
docker run -d -p 8080:80 -v /var/www/:/var/www/ app_container
该命令将使用标准HTTP端口8080和你的应用程序目录/var/www/来创建一个新的容器。
测试容器:使用以下命令测试容器:
docker ps
查看当前正在运行的容器。
配置容器:可以使用Docker的“Run”命令来配置容器,包括端口、文件、网络等。
docker run -d -p 8080:80 -v /var/www/:/var/www/ app_container --net="host"
该命令将使用标准HTTP端口8080和你的应用程序目录/var/www/来创建一个新的容器,并将容器网络设置为“host”,该网络在计算机上运行Docker时自动连接到计算机。
交付容器:使用Docker的“部署”命令来部署容器。在选择“Copy image to output directory”选项时,将容器映像复制到目标目录。
docker部署
该命令将部署容器并保存镜像文件到目标目录。
这些是使用Docker帮助的一些基本步骤。这只是Docker的冰山一角,可以深入了解有关Docker的更多细节。
1.获取镜像
2.启动容器
3.查看所有的容器/正在运行的容器
4.后台运行
5.停止一个容器
6.重启一个容器
7.进入容器
7.导入导出容器暂时略过(以后会补充)
8.删除容器
一、Docker 客户端
docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。[root@localhost ~]# docker
二、容器使用
1.获取镜像
如果我们本地没有 nginx 镜像,我们可以使用 docker pull 命令来载入 nginx 镜像:docker pull nginx
2.启动容器
以下命令使用 nginx 镜像启动一个容器,参数为以命令行模式进入该容器:docker run -it nginx /bin/bash
参数说明:-i: 交互式操作。-t: 终端。nginx: nginx 镜像。/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。要退出终端,直接输入 exit:
3.查看所有的容器/正在运行的容器
docker ps -a 所有存在的容器
docker ps 正在运行的容器
4.后台运行
docker run -itd --name nginx-test nginx /bin/bash
加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec
5.停止一个容器
docker stop <容器 ID>docker stop 61e9670e5b8e
6.重启一个容器
docker restart <容器 ID>docker restart 61e9670e5b8e
7.进入容器
在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
docker attach 如果从这个容器退出,会导致容器的停止docker attach 1e560fca3906
docker exec:推荐使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。docker exec -it 243c32535da7 /bin/bash
7.导入导出容器暂时略过(以后会补充)
8.删除容器
docker rm -f 243c32535da7
下面的命令可以清理掉所有处于终止状态的容器。
可以,docker是一款跨平台容器框架,兼容性这块是毋容置疑的。
首先新增docker-compose.xml配置文件添加需要的容器,
然后执行docker-compose up -d启动容器
关闭执行docker-compose down
查看状态docker-compose ps
Docker服务可以以端口的方式映射到主机上,比如 `docker run xxx --p:8000:8000`。
此时Docker宿主机可以通过8000端口访问Docker中的web服务。
内网另一台机直接访问宿主机ip:8000即可
Docker和Docker Desktop是Docker平台的两个组成部分,它们之间存在以下区别:
1. Docker是一个开源的容器化平台,它提供了一种轻量级的容器化解决方案,使开发人员能够在隔离的环境中构建、打包、部署和运行应用程序。Docker可以在各种操作系统上运行,包括Linux、Windows和macOS。
2. Docker Desktop是面向桌面用户的Docker应用程序,它提供了一个集成的开发环境,方便在个人计算机上使用Docker。Docker Desktop适用于Windows和macOS操作系统,为开发人员提供了一个直观的用户界面,用于管理Docker容器、镜像和服务。
3. Docker包括Docker引擎、CLI工具和一系列库和API,它们一起提供了构建和管理容器的功能。Docker引擎是Docker的核心组件,负责在宿主操作系统上创建和运行容器。CLI工具允许用户通过命令行与Docker进行交互。
4. Docker Desktop在安装时会将Docker引擎、CLI工具和其他一些附加组件一起打包安装。它还提供了一个图形化界面,方便用户管理和监控容器、映像、卷和网络。此外,Docker Desktop还包括一些高级功能,如Kubernetes集成、容器编排等。
总而言之,Docker是一个通用的容器化平台,而Docker Desktop是针对桌面用户的集成开发环境,提供了更便捷的方式来使用和管理Docker。
selinux 原因。
两种方法:1.selinux模式为permissive模式 setenforce 0 2.容器启动,添加--privileged=true
不可以的。不是同一种系统程序。
区别就是两者意思是不一样具体的不同如下
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
在实际生产环境中,一个应用往往由许多服务构成,而 docker 的最佳实践是一个容器只运行一个进程,因此运行多个微服务就要运行多个容器。多个容器协同工作需要一个有效的工具来管理他们,定义这些容器如何相互关联。compose 应运而生。
compose 是用来定义和运行一个或多个容器(通常都是多个)运行和应用的工具。使用 compose 可以简化容器镜像的构建以及容器的运行。
相关文章
热门教程
热门系统下载
热门资讯