如何扁平化设计网站,湖南seo网站策划,专业的顺的网站建设,网站设计的步骤文章目录 Docker基础操作1.1 Docker在线安装1.1.1 安装基础软件包1.1.2 安装docker主程序1.1.2.1 设置国内源1.1.2.2 安装docker 1.2 Docker离线安装1.2.1 下载离线安装包1.2.2 安装docker依赖包以及docker 1.3 设置自启动并启动dokcer1.4 安装docker-compose1.4.1 命令行下载文… 文章目录 Docker基础操作1.1 Docker在线安装1.1.1 安装基础软件包1.1.2 安装docker主程序1.1.2.1 设置国内源1.1.2.2 安装docker 1.2 Docker离线安装1.2.1 下载离线安装包1.2.2 安装docker依赖包以及docker 1.3 设置自启动并启动dokcer1.4 安装docker-compose1.4.1 命令行下载文件并赋值可执行权限 Docker常用命令1.5 新建并启动容器1.6 列出容器1.7 列出所有容器1.8 停止容器1.9 强制停止容器1.10 启动已停止的容器1.11 删除容器1.12 查看容器的日志1.13 查看指定容器情况1.14 查看所有容器情况1.15 进入Docker容器内部的bash1.16 docker命令图 Docker打包应用流程1.17 打包应用工程1.18 编写Dockerfile文件1.19 编写docker-compose文件1.20 Docker-compose弊端1.21 Docker stack介绍1.21.1 启用docker stack1.21.2 运行Docker stack1.21.3 Docker stack相关命令1.21.3.1 查看服务器节点状态1.21.3.2 查看服务状态1.21.3.3 动态扩容1.21.3.4 其他命令 Docker基础操作
1.1 Docker在线安装
1.1.1 安装基础软件包
sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2yum-utils 提供了 yum-config-manager 并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
1.1.2 安装docker主程序
1.1.2.1 设置国内源
sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1.1.2.2 安装docker
sudo yum install docker-ce1.2 Docker离线安装
1.2.1 下载离线安装包
以docker 17.12.0版本为例说明。 下载下面的10个安装文件并按照下面的目录结构上传好。 package下面的8个文件为依赖包最上面的2个文件为主安装文件。
1.2.2 安装docker依赖包以及docker
cd package
rpm -Uvh *.rpm --nodeps –force
cd ../
rpm -Uvh container-selinux-2.99-1.el7_6.noarch.rpm
rpm -Uvh docker-ce-17.12.0.ce-1.el7.centos.x86_64.rpm1.3 设置自启动并启动dokcer
sudo systemctl enable docker
sudo systemctl start dockerdocker –v 验证是否安装成功
1.4 安装docker-compose
上面docker安装好后只能通过手工输入命令并在命令行中指定配置运行dokcer应用。效率低下且无法同时管理多个容器应用。 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose您可以使用 YML 文件来配置应用程序需要的所有服务。然后使用一个命令就可以从 YML 文件配置中创建并启动所有服务。但是docker-compose需要独立安装。
1.4.1 命令行下载文件并赋值可执行权限
curl -L https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-composesudo chmod x /usr/local/bin/docker-composedocker-compose -v 验证是否安装成功
Docker常用命令
1.5 新建并启动容器
docker run -p 80:80 --name nginx -d nginx:1.17.0-d选项表示后台运行 –name选项指定运行后容器的名字为nginx,之后可以通过名字来操作容器 -p选项指定端口映射格式为hostPort:containerPort
1.6 列出容器
docker ps1.7 列出所有容器
docker ps -a1.8 停止容器
# $ContainerName及$ContainerId可以用docker ps命令查询出来
docker stop $ContainerName(或者$ContainerId)比如 docker stop nginx #或者 docker stop c5f5d5125587
1.9 强制停止容器
docker kill $ContainerName(或者$ContainerId)1.10 启动已停止的容器
docker start $ContainerName(或者$ContainerId)1.11 删除容器
删除指定容器
docker rm $ContainerName(或者$ContainerId)强制删除所有容器
docker rm -f $(docker ps -a -q)1.12 查看容器的日志
docker logs $ContainerName(或者$ContainerId)1.13 查看指定容器情况
docker stats $ContainerName(或者$ContainerId)1.14 查看所有容器情况
docker stats -a1.15 进入Docker容器内部的bash
docker exec -it $ContainerName /bin/bash1.16 docker命令图 Docker打包应用流程
1.17 打包应用工程
如果为springboot工程按普通mvn方式打包成jar 如果为nodejs前端工程按正常npm命令打包。
1.18 编写Dockerfile文件
Dockerfile 是一个用来构建镜像的文本文件, 简单来说就是通过此文件定义了打包镜像的过程。
Dockerfile常见命令
1.19 编写docker-compose文件
Docker-compose.yml文件是docker应用的单机编排文件他将前面需要通过命令行指定配置参数启动容器应用的繁琐操作中解脱出来。将配置和命令写入到文件中通过简单的命令一键加载配置并启动容器,同时还支持指定打包镜像。 下面以一个完整的例子进行说明: 本例实现了在docker中启动3个tomcat实例tomcat01、tomcat02、tomcat03和1个nginx实例并将通过nginx做负载在nginx 80端口提供服务。 运行方式cd到docker-compose文件目录下执行以下命令启动或关闭
docker-compose up -d
docker-compose down1.20 Docker-compose弊端
单机版编排无法支持大规模场景下的部署和管理无法动态扩容根据需要来调整实例规模。 幸运的是Docker Stack 为解决该问题而生。
1.21 Docker stack介绍
简而言之docker-compose适用于开发和测试。Docker Stack 则适用于大规模场景和生产环境。Docker Stack 和 Docker Compose 的一个区别是 Stack 不支持构建。这意味着在部署 Stack 之前所有镜像必须提前构建完成。
1.21.1 启用docker stack
docker swarm init1.21.2 运行Docker stack
docker stack deploy -c docker-stack.yml stack配置文件docker-stack.yml内容如下 重点是deploy节点这边定义了服务的副本(replicas)数量为 2, 对于当前服务升级时Docker 每次会更新2个副本parallelism。
1.21.3 Docker stack相关命令
1.21.3.1 查看服务器节点状态 表示系统只有一个节点角色为leader
1.21.3.2 查看服务状态 系统运行2个服务其中stack_tomcat 副本为3也就是3个容器实例作为一个集群提供服务。
1.21.3.3 动态扩容 系统将stack_tomcat扩容为4个实例。
1.21.3.4 其他命令
命令用于从 Swarm 集群中移除服务stack。移除操作执行前并不会进行二次确认。
docker stack rm stack查看日志信息
docker stack ps --no-trunc stack管理器节点离开Docker Swarm模式
docker swarm leave –force普通节点离开Docker Swarm模式
docker swarm leave好记性不如烂笔头共勉