docker简述
docker是一个开源的应用容器引擎,它允许开发者将应用和依赖打包到一个可移植的镜像中,并且可以在任何支持的操作系统上运行。docker支持多个平台,包含win和linux,docker容器都在一个隔离的环境中运行,保证了安全性和稳定性。
我们可以通过docker能处理的问题场景来了解docker的特性:
环境一致性:Docker 可以确保开发、测试和生产环境保持一致,避免了因环境差异导致的问题,有助于减少在设备间迁移时出现的错误和调试时间。
便携性:Docker 容器可以将应用及其依赖打包在一起,形成一个独立的单元,这个单元可以在任何支持 Docker 的系统上运行,实现了跨平台、跨服务器的便携性。
快速部署和扩展:通过 Docker,可以快速地启动或停止应用,这对于自动化测试、持续集成和部署流程非常有用。同时,容器的快速启停特性也便于应对负载变化进行快速扩展或缩减。
隔离性:每个 Docker 容器都在自己的环境中运行,与其他容器隔离,这提高了应用的安全性。即使一个容器发生安全问题,也不会影响到其他容器或宿主机。
docker核心概念
在docker中,有一些核心概念是需要了解的:
容器(Container):容器是具体应用的运行实例
镜像(Image):镜像包含了运行容器所需的代码、运行时、库、环境变量和配置文件,相当于一个模板文件
仓库(Repository):仓库是用来集中存放和管理镜像文件的地方,Docker Hub是目前最知名的公开仓库
docker安装
以Linux举例, Linux中部署docker
要在 CentOS 7.6 上部署 Docker,你可以按照以下步骤操作:
更新你的系统
首先,你需要更新你的系统以确保所有的软件都是最新的。你可以使用以下命令来更新你的系统:
sudo yum update -y
安装必要的软件包
Docker 需要 yum-utils,device-mapper-persistent-data 和 lvm2 包。你可以使用以下命令来安装这些包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加 Docker 仓库
使用以下命令添加 Docker 的 yum 仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装 Docker
现在你可以安装 Docker 了。使用以下命令来安装 Docker:
sudo yum install -y docker-ce
启动 Docker 服务
安装完成后,启动 Docker 服务并设置为开机启动:
sudo systemctl start docker
sudo systemctl enable docker
验证 Docker 是否安装成功
你可以运行一个测试镜像来验证 Docker 是否安装成功:
sudo docker run hello-world
如果 Docker 安装成功,你将看到 Hello from Docker! 的消息。
查看docker版本
docker version
docker安装帮助文档:https://docs.docker.com/desktop/install/mac-install/
docker常见命令
一、容器管理
docker ps: 这个命令用于列出当前正在运行的容器。添加 -a 选项可以列出所有容器(包括已经停止的)。
docker ps -a
docker run命令可以创建和运行Docker容器。例如,要创建一个基于Ubuntu镜像的容器,可以运行以下命令:
docker run -it ubuntu /bin/bash #直接执行 docker run 命令, 等同于先执行 docker create 命令,再执行 docker start 命令。
docker stop: 这个命令用于停止一个正在运行的容器。
docker stop <container_id>
docker rm: 这个命令用于删除一个容器。
docker rm <container_id>
docker exec: 这个命令用于在正在运行的容器中执行命令。例如,docker exec -it <container_id> /bin/bash 可以在一个正在运行的容器中打开一个新的 bash shell。
docker exec -it <container_id> /bin/bash
docker build: 这个命令用于从 Dockerfile 构建 Docker 镜像。
docker build -t <image_name>:<tag_name> .
docker logs: 这个命令用于查看容器的日志输出。
docker logs <container_id>
二、镜像管理
docker images: 这个命令用于列出本地的 Docker 镜像。
docker images
docker rmi: 这个命令用于删除本地的 Docker 镜像。
docker rmi <image_id>
docker pull: 这个命令用于从 Docker Hub 下载镜像。
docker pull <image_name>:<tag_name>
docker compose
Docker Compose 是一个工具,用于定义和运行多容器 Docker 应用。通过一个 YAML 文件米配査应用服务,可以使用一个单独的命令来启动和停止所有服务。
#dockercompose.yml示例
version:'3'
services:
web :
build:
ports:
-"5000:5000"
redis :
image: "redis:alpine"
使用 Docker Compose 命令
#启动所有服务
docker-compose up
#在后台启动所有服务
docker-compose up-d
#停止所有服务
docker-compose down
#构建或重新构建服务
docker-compose build