营销类网站,国外html5网站模板,网站建设工作领导小组,seo可以从哪些方面优化目录 1 部署环境检查2 相关知识点2.1 docker默认镜像存放地址2.2 docker 的镜像都是tar 包#xff1f;2.3 Docker-compose 是直接使用镜像创建容器#xff1f;2.4 Docker Compose down 就是将容器删除#xff1f;2.5 删除#xff0c;会删除挂载嘛2.6 DockerFile 和 docker … 目录 1 部署环境检查2 相关知识点2.1 docker默认镜像存放地址2.2 docker 的镜像都是tar 包2.3 Docker-compose 是直接使用镜像创建容器2.4 Docker Compose down 就是将容器删除2.5 删除会删除挂载嘛2.6 DockerFile 和 docker compose 区别 3 部署nginx 1 部署环境检查
1 是否安装docker
2 是否安装docker-compose
3 docker默认镜像存放地址在/var/lib/docker 目录下查看此目录下是否有足够的空间df -h 目录名 查看所在目录 挂载目录及使用情况
4 查看机器生成数据的存储空间dh -h
5 检查是否系统是否为x86系统内核 部署包内的 java8镜像smb软件 只支持x86系统uname -a 2 相关知识点
2.1 docker默认镜像存放地址
在Linux系统上Docker默认将镜像存储在/var/lib/docker目录下。这个目录包含了Docker的运行时数据包括镜像、容器、卷等。
在/var/lib/docker目录下镜像的具体存放位置如下
镜像层Image Layers/var/lib/docker/image/overlay2目录下存放了镜像的各个层。镜像元数据Image Metadata/var/lib/docker/image/overlay2/repositories.json文件包含了镜像的元数据信息如镜像的名称、标签等。
请注意/var/lib/docker目录下的文件和目录属于Docker的运行时数据对其进行修改或删除可能会导致Docker的不稳定或数据丢失。如果你需要备份或迁移Docker的镜像数据建议使用Docker提供的相关命令或工具来操作。
此外值得一提的是Docker的存储驱动可以根据不同的配置进行更改因此实际的镜像存放位置可能会因配置而异。但对于大多数默认安装的Docker环境来说/var/lib/docker是默认的镜像存放地址。
2.2 docker 的镜像都是tar 包
是的Docker的镜像实际上是以tar包的形式存储的。每个Docker镜像都由多个层layers组成这些层以文件系统的形式存储在Docker宿主机上。
每个镜像层都是一个只读的文件系统它包含了文件和目录的快照。当你使用Docker构建镜像时每一条指令都会创建一个新的镜像层。这种分层的结构使得镜像的构建和共享变得高效因为多个镜像可以共享相同的层。
当你从Docker Hub或其他镜像仓库拉取镜像时实际上是将这些镜像层以tar包的形式下载到本地。这些tar包会被Docker存储在宿主机的文件系统中供后续的容器创建和运行使用。
你可以使用docker save命令将镜像保存为tar包使用docker load命令将tar包加载为镜像。这些命令可以让你在不同的Docker环境之间备份、迁移和共享镜像。
总结起来Docker镜像实际上是由多个层组成的以tar包的形式存储在宿主机上。这种分层结构和使用tar包的方式使得Docker镜像的构建、共享和管理变得更加灵活和高效。
2.3 Docker-compose 是直接使用镜像创建容器
是的Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Docker Compose你可以使用一个单独的YAML文件来定义多个容器、它们之间的关联关系以及其他配置选项。然后通过运行docker-compose up命令Docker Compose将根据定义的配置创建并启动所有的容器。
在Docker Compose配置文件中你可以指定要使用的镜像名称、容器的名称、端口映射、环境变量、卷挂载等等。当你运行docker-compose up命令时Docker Compose会自动下载所需的镜像如果本地不存在并创建相应的容器。
下面是一个简单的Docker Compose配置文件示例用于创建一个包含PostgreSQL和Redis两个容器的应用程序
version: 3
services:db:image: postgresenvironment:POSTGRES_PASSWORD: mysecretpasswordredis:image: redis在这个示例中我们定义了两个服务即容器db和redis。db服务使用了postgres镜像并设置了PostgreSQL的密码为mysecretpassword。redis服务使用了redis镜像。
要运行这个配置文件你可以在包含该文件的目录中打开终端或命令提示符并运行以下命令
docker-compose upDocker Compose将会根据配置文件创建并启动db和redis两个容器。你可以通过docker-compose ps命令来查看容器的状态。
总结来说Docker Compose是通过配置文件来创建和管理多个容器的工具它简化了多容器应用程序的部署和管理过程。
2.4 Docker Compose down 就是将容器删除
是的docker-compose down命令用于停止并删除由Docker Compose启动的容器。当你运行docker-compose down命令时Docker Compose将会停止并删除在配置文件中定义的所有服务容器同时还会删除相关的网络和卷如果有定义。这个命令可以用来清理整个应用程序的运行环境。
需要注意的是docker-compose down命令会删除容器及其相关资源包括数据卷中的数据。如果你希望保留数据可以使用docker-compose stop命令来停止容器而不是使用docker-compose down命令。
确保在运行docker-compose down命令之前你已经进入到包含docker-compose.yml文件的目录并且已经安装并正确配置了Docker Compose。
2.5 删除会删除挂载嘛
是的当你使用docker-compose down命令删除容器时它会删除与容器相关联的挂载卷如果有定义。挂载卷是将容器内的路径与宿主机上的路径进行关联以便在容器重启或删除后保留数据。
如果你希望保留挂载卷中的数据可以使用docker-compose down -v命令。这个命令会在删除容器的同时也删除挂载卷。如果你想要保留挂载卷中的数据可以备份或迁移挂载卷的数据到其他位置然后再运行docker-compose down -v命令来删除容器和挂载卷。
需要注意的是删除挂载卷会永久删除其中的数据因此在执行删除操作之前请确保备份了重要的数据。
yml 里面写了 volumes:- /home/docker/nginx/data:/web/ 之后down 之后宿主机里面的数据会删除嘛如果你在docker-compose.yml文件中使用了以下的挂载卷定义
volumes:- /home/docker/nginx/data:/web/然后执行docker-compose down命令来删除容器那么默认情况下这个挂载卷/home/docker/nginx/data上的数据将会被保留在宿主机上。
docker-compose down命令默认会删除容器实例但不会删除挂载卷。只有在使用docker-compose down -v命令时才会删除与容器关联的挂载卷。
因此如果你只执行了docker-compose down命令宿主机上的数据将会保留在/home/docker/nginx/data目录中。如果你想要删除挂载卷以及宿主机上的数据可以使用docker-compose down -v命令。在执行删除操作之前请确保备份了重要的数据。
2.6 DockerFile 和 docker compose 区别
Dockerfile 和 Docker Compose 是 Docker 中两个不同的概念和工具它们用于不同的目的。
Dockerfile 是一个文本文件用于定义和构建 Docker 镜像。它包含了一系列的指令用于描述如何构建一个 Docker 镜像的步骤包括基础镜像选择、安装软件包、复制文件、设置环境变量等。通过 Dockerfile你可以自定义和管理你的镜像构建过程以满足你的应用程序的需求。
Docker Compose 是一个工具用于定义和管理多个 Docker 容器的应用程序。它使用一个 YAML 文件通常称为 docker-compose.yml来描述应用程序的不同服务、网络设置、卷挂载等配置。通过 Docker Compose你可以定义一个多容器的应用程序并使用一个命令来启动、停止、重启整个应用程序。它简化了多容器应用程序的部署和管理。
总结一下
Dockerfile 用于构建 Docker 镜像描述了如何构建一个镜像的步骤。Docker Compose 用于定义和管理多个 Docker 容器的应用程序描述了应用程序的不同服务和配置。
在实际使用中你可以使用 Dockerfile 构建一个镜像然后使用 Docker Compose 来定义和管理多个使用这个镜像的容器。这样可以方便地管理容器之间的关系、网络设置等并实现整个应用程序的部署和管理。
3 部署nginx
将nginx 的 tar 包上传到服务器 输入docker images,发现目前是没有镜像的现在将tar 包变成镜像
docker load -i nginx.tar以上就将tar 包变成镜像了 因为需要容器里面目录和宿主机目录要一一挂载容器卷所以我们在宿主机上面创建要和容器一一对应的目录 以上是ngixn 的目录以后修改这个宿主机目录下的东西nginx 容器里面就会修改。 这个conf 目录文件夹下有一个nginx 配置 这个就是ngixn 的配置文件以后我们就是修改这个配置文件
因为我们要使用 Docker-compose 去管理容器所以要使用Docker-compose 的东西
我们需要找一个位置专门放各个yml 文件 现在有一个关于nginx 的yml 编排文件就是使用他去管理
里面内容是
version: 2
services:nginx:image: nginxhostname: nginxcontainer_name: nginxports:- 18080:8080- 18082:8081- 18088:8087volumes:- /home/docker/nginx/data:/web/- /home/docker/nginx/html:/usr/share/nginx/html- /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf- /home/docker/nginx/logs:/var/log/nginx- /home/metefont/hongt-data-center/hkdata:/HKONG/hkdata- /home/metefont/mapdata:/home/metefont/mapdataenvironment:- TZAsia/Shanghai
这个文件是一个Docker Compose的配置文件用于创建和管理一个Nginx容器。
让我逐行解释每一行代码的意思
version: 2这是Docker Compose配置文件的版本号。在这个示例中使用的是版本号为2的配置文件格式。
version: 2
services:nginx:image: nginxhostname: nginxcontainer_name: nginxports:- 18080:8080- 18082:8081- 18088:8087volumes:- /home/softinstall/docker/nginx/data:/web/- /home/softinstall/docker/nginx/html:/usr/share/nginx/html- /home/softinstall/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf- /home/softinstall/docker/nginx/logs:/var/log/nginx- /home/metefont/hongt-data-center/hkdata:/HKONG/hkdata- /home/metefont/mapdata:/home/metefont/mapdataenvironment:- TZAsia/Shanghai这部分定义了一个名为nginx的服务即Nginx容器。以下是每个配置项的含义 image: nginx指定使用的镜像为nginx这将从Docker Hub上下载Nginx镜像。 hostname: nginx设置容器的主机名为nginx。 container_name: nginx指定容器的名称为nginx。 ports定义端口映射将主机的端口与容器的端口进行绑定。在这个示例中将主机的18080端口映射到容器的8080端口将主机的18082端口映射到容器的8081端口将主机的18088端口映射到容器的8087端口。 volumes定义卷挂载将主机的目录与容器的目录进行映射。在这个示例中将主机的/home/docker/nginx/data目录映射到容器的/web/目录将主机的/home/docker/nginx/html目录映射到容器的/usr/share/nginx/html目录将主机的/home/docker/nginx/conf/nginx.conf文件映射到容器的/etc/nginx/nginx.conf文件将主机的/home/docker/nginx/logs目录映射到容器的/var/log/nginx目录将主机的/home/metefont/hongt-data-center/hkdata目录映射到容器的/HKONG/hkdata目录将主机的/home/metefont/mapdata目录映射到容器的/home/metefont/mapdata目录。 environment设置环境变量。在这个示例中设置时区为Asia/Shanghai。
这个配置文件的作用是创建一个名为nginx的Nginx容器并指定了端口映射、卷挂载和环境变量等配置。通过运行docker-compose up命令Docker Compose将会根据这个配置文件创建并启动该容器。
在这个nginx.yml 文件夹下执行下面就启动了
docker-compose -f nginx.yml up -d查看日志
docker logs -f nginx确保nginx.conf 没问题才可以启动成功关闭容器
docker-compose -f nginx.yml down如果第一次启动失败要修改完配置文件之后关闭之后重新启动
先执行
docker-compose -f nginx.yml down
后执行
docker-compose -f nginx.yml up -d进入容器内部
docker exec -it 容器id /bin/bash放一个图片浏览器访问