绵阳网站建设开发,网页版梦幻西游哪个职业厉害,合肥市网站制作,世界杯网站建设文章目录 Docker三个基本概念镜像(Image)容器(Container)仓库(Repository) Docker命令基础命令查看版本信息显示详细信息从仓库拉取镜像列出本地存储的镜像删除一个或多个镜像列出所有运行中的容器运行一个新的容器停止一个运行中的容器启动一个已停止的容器重启一个容器删除一… 文章目录 Docker三个基本概念镜像(Image)容器(Container)仓库(Repository) Docker命令基础命令查看版本信息显示详细信息从仓库拉取镜像列出本地存储的镜像删除一个或多个镜像列出所有运行中的容器运行一个新的容器停止一个运行中的容器启动一个已停止的容器重启一个容器删除一个或多个容器在运行中的容器中执行命令获取容器的日志 镜像管理从Dockerfile构建一个镜像为镜像打标签将镜像推送到Docker仓库从Docker仓库中拉取镜像 网络管理列出所有Docker网络创建一个新的Docker网络删除一个或多个Docker网络查看Docker网络的详细信息 卷管理列出所有Docker卷创建一个新的Docker卷删除一个或多个Docker卷查看Docker卷的详细信息 DockerfileDocker Compose通俗理解Docker Compose 的作用举例说明使用 Docker Compose优点小结 Docker 开源的 应用容器引擎 Go语言开发的 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中然后发布到任何流行的Linux机器上也可以实现虚拟化
Docker三个基本概念
镜像(Image)
Docker 镜像是一种轻量级、独立的、可执行的软件包它包含了运行某个软件所需的所有元素。镜像是不可变的创建后不能更改但可以用作构建新镜像的基础。
比喻 想象一下它就像一本食谱Recipe详细列出了如何制作某道菜。这个食谱包含了所有的步骤和所需的食材。
食谱代表 Docker 镜像 所需的食材和步骤代表应用程序、依赖库、配置文件等 有了这本食谱Docker 镜像你和别人都能按照同样的步骤做出一样的菜。
容器(Container)
Docker 容器是基于镜像创建的一个运行实例它包含了应用程序及其所有依赖项运行在一个完全隔离的环境中。容器是动态的可以启动、停止、移动和删除。
比喻 容器就像是你根据食谱Docker 镜像做出来的那道实际的菜。你可以吃这道菜也可以把它装进饭盒里带走。
实际的菜代表 Docker 容器 装进饭盒里带走代表容器的便携性和可移植性 有了这道菜Docker 容器你可以随时享用也可以带到任何地方和别人分享。
仓库(Repository)
集中存放镜像文件的场所 Docker 使用客户端-服务器 (C/S) 架构模式使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。 Docker 镜像是用于创建 Docker 容器的模板
容器与镜像的关系类似于面向对象编程中的对象与类。
Docker命令
基础命令
查看版本信息
docker version显示详细信息
docker info从仓库拉取镜像
docker pull [OPTIONS] NAME[:TAG|DIGEST]
# 例如:
docker pull ubuntu:latest列出本地存储的镜像
docker images删除一个或多个镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
# 例如:
docker rmi ubuntu:latest列出所有运行中的容器
docker ps [OPTIONS]
# 列出所有容器包括停止的容器:
docker ps -a运行一个新的容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# 例如运行一个交互式的 Ubuntu 容器:
docker run -it ubuntu:latest /bin/bash常用选项 -d后台运行容器。 -p端口映射。 -v挂载卷。 –name给容器命名。 -e设置环境变量。 停止一个运行中的容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]
# 例如:
docker stop my_container启动一个已停止的容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
# 例如:
docker start my_container重启一个容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]
# 例如:
docker restart my_container删除一个或多个容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
# 例如:
docker rm my_container在运行中的容器中执行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
# 例如在容器中打开一个交互式 shell:
docker exec -it my_container /bin/bash获取容器的日志
docker logs [OPTIONS] CONTAINER
# 例如:
docker logs my_container镜像管理
从Dockerfile构建一个镜像
docker build [OPTIONS] PATH | URL | -
# 例如从当前目录的 Dockerfile 构建镜像:
docker build -t my_image:latest .为镜像打标签
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
# 例如:
docker tag my_image:latest my_repo/my_image:v1.0将镜像推送到Docker仓库
docker push [OPTIONS] NAME[:TAG]
# 例如:
docker push my_repo/my_image:v1.0从Docker仓库中拉取镜像
docker pull [OPTIONS] NAME[:TAG|DIGEST]
# 例如:
docker pull ubuntu:latest网络管理
列出所有Docker网络
docker network ls创建一个新的Docker网络
docker network create [OPTIONS] NETWORK
# 例如:
docker network create my_network删除一个或多个Docker网络
docker network rm NETWORK [NETWORK...]
# 例如:
docker network rm my_network查看Docker网络的详细信息
docker network inspect NETWORK
# 例如:
docker network inspect my_network卷管理
列出所有Docker卷
docker volume ls创建一个新的Docker卷
docker volume create [OPTIONS] [VOLUME]
# 例如:
docker volume create my_volume删除一个或多个Docker卷
docker volume rm VOLUME [VOLUME...]
# 例如:
docker volume rm my_volume查看Docker卷的详细信息
docker volume inspect VOLUME
# 例如:
docker volume inspect my_volume常用选项详解 -d后台运行容器。 -it运行一个交互式终端。 -p端口映射格式为HOST_PORT:CONTAINER_PORT。 -v挂载卷格式为HOST_PATH:CONTAINER_PATH。 -e设置环境变量。 –name为容器指定名称。 –rm容器退出后自动删除容器。 –network指定容器加入的网络。 Dockerfile
Dockerfile 是一个文本文件包含了构建Docker镜像的所有指令。 Dockerfile 是一个用来构建镜像的文本文件文本内容包含了一条条构建镜像所需的指令和说明。 通过定义一系列命令和参数Dockerfile 指导 Docker 构建一个自定义的镜像。
Docker Compose
Compose 是用于定义和运行多容器 Docker 应用程序的工具。 通过 Compose您可以使用 YML 文件来配置应用程序需要的所有服务。然后使用一个命令就可以从 YML 文件配置中创建并启动所有服务。 Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个简单的配置文件你可以使用 Docker Compose 来配置应用程序的服务并使用单个命令启动所有服务。
通俗理解
假设你有一个复杂的应用程序它需要多个组件来一起工作比如
Web服务器处理用户的 HTTP 请求。数据库存储应用程序的数据。缓存服务器加速数据访问提高性能。
如果你要手动启动这些服务你需要分别运行多个 docker run 命令这可能会变得非常复杂和容易出错。特别是当你需要在不同的环境如开发、测试和生产中运行应用程序时管理这些服务的配置会变得更加困难。
Docker Compose 的作用
Docker Compose 通过一个配置文件通常命名为 docker-compose.yml来定义所有这些服务。这个配置文件可以包括
每个服务使用的镜像。服务之间的依赖关系。网络和卷的配置。环境变量。
举例说明
假设你有一个简单的应用程序有一个 Web 服务器和一个数据库。你可以创建一个 docker-compose.yml 文件来定义这些服务
version: 3
services:web:image: nginx:latestports:- 8080:80db:image: mysql:latestenvironment:MYSQL_ROOT_PASSWORD: example这个文件定义了两个服务
web 服务使用最新版本的 Nginx 镜像并将主机的 8080 端口映射到容器的 80 端口。db 服务使用最新版本的 MySQL 镜像并设置一个环境变量来定义 MySQL 的根密码。
使用 Docker Compose 启动服务 通过运行以下命令Docker Compose 会根据配置文件启动所有服务 docker-compose up停止服务 运行以下命令可以停止所有服务 docker-compose down查看服务状态 你可以使用以下命令查看运行中的服务状态 docker-compose ps优点
简化多容器管理不用手动启动和停止每个容器简化操作。一致的开发环境所有开发人员都可以使用相同的配置文件确保一致的开发环境。易于扩展可以轻松添加或删除服务调整配置。
小结
Docker Compose 让你能够通过一个简单的配置文件来管理多容器应用简化了复杂应用的部署和管理。无论是在开发环境还是生产环境它都能帮助你更高效地管理服务。