企业应用交付Docker镜像进阶实战笔记(上)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 企业应用交付Docker镜像进阶实战笔记

一、准备工作


1.1 查看内核


// 保证内核 3.10 以上
uname -r


1.2 卸载旧版docker

yum remove docker \
      docker-client \
      docker-client-latest \
      docker-common \
      docker-latest \
      docker-latest-logrotate \
      docker-logrotate \
      docker-engine
// docker默认工作路径
rm -rf /var/lib/docker


1.3 安装依赖


yum -y install yum-utils


1.4 设置国内阿里云镜像仓库


yum-config-manager \
  --add-repo \
  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


1.5 更新yum


yum makecache fast


1.6 安装Docker


// docker-ce 社区版本 docker-ee 企业版
yum install docker-ce docker-ce-cli containerd.io


1.7 启动Docker测试


// 启动
systemctl start docker
// 查看信息
docker version
// 测试helloword
docker run helloword


1.8 查看镜像


docker images


二、阿里云镜像加速


2.1 登录阿里云账号


20200729093253579.png


2.2 镜像加速


20200729093534795.png


2.3 配置加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://e5yl33pf.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

20200729093722276.png


三、Docker命令


docker info 
docker 命令 --help


3.1 镜像命令

// 查看本地所有的镜像
docker images
// 搜索 镜像
docker search mysql
// 下载默认最新的镜像  分层下载Docker的核心 文件系统
docker pull mysql
// 下载指定版本的镜像
docker pull mysql:5.7
// 删除镜像
docker rmi -f imageID
// 删除所有镜像
docker rmi -f $(docker images -aq)


四、容器命令


4.1 常用命令

docker run  [可选参数] imageid
--name="名字" tomcat01 tomcat02
-d 后台方式运行
-it 进入容器交互运行
-p 主机端口:容器端口   指定容器端口


4.2 运行centos镜像


docker pull centos
docker run -it centos /bin/bash


20200729101915975.png

20200729102009470.png

// 列出所有运行的Docker
docker ps
// 删除容器
docker rm 容器ID
// 强制删除所有,包括运行的容器
docker rm -f $(docker ps -aq)

4.3 Docker容器启动停止


docker start  容器ID
docker restart  容器ID
docker stop  容器ID
docker kill  容器ID


4.4 日志,元数据,进程

// 后台运行
docker run -d 镜像名/镜像ID
// 查看日志
docker logs -t -f --tail 10 容器ID
// 进程信息
docker top 容器ID
// 元数据
docker inspect 容器ID

4.5 进入运行容器修改配置


// 1:进入运行容器
docker exec it 容器ID /bin/bash
// 2.进入正在运行容器
docker attach  容器ID /bin/bash


4.6 拷贝命令


// 从容器内部拷贝到主机
// 1.进去容器
docker attach 容器ID
// 2.需要拷贝的内容
 touch test.txt
// 3.退出容器
exit
// 4. 拷贝到主机
docker cp 容器ID:/home/test.txt /home


五、Docker部署Nginx


docker search nginx
docker pull nginx
docker images
docker run -d --name nginx01 -p:3344:80 nginx
docker ps

20200729111544468.png

// 进入容器才可以修改文件配置 重启!!!
docker exec -it nginx01 /bin/bash
-v 数据卷的技术可以解决

六、Docker部署Tomcat


docker pull tomcat
docker run -d -p 8081:8080 --name tomcat01 tomcat


七、Docker部署ES+Kibana


7.1 部署ElasticSearch 7.6.2

// es 端口多
// es 耗内存
// es 的数据一般要放置到安全目录 挂载
docker run -d --name elasticsearch01 -p 9200:9200 -e  "discovery.type=single-node" elasticsearch:7.6.2

7.2 【解决卡顿 内存消耗问题】


ES默认启动1G内存,我的阿里云是1核2G内存,这是原因。


// 查看cpu
docker stats


20200729125107750.png

// 关闭
docker stop 容器ID
// 增加内存限制
docker run -d --name elasticsearch02 -p 9200:9200 -e  "discovery.type=single-node"  -e ES_JAVA_OPTS="-Xms64m -Xmx512m"  elasticsearch:7.6.2

20200729133323878.png


问题解决!!!


7.3 Docker部署Kibana


问题思考?

可以通过localhost 链接ES吗??


20200729133618876.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
13天前
|
缓存 Linux 网络安全
docker的镜像无法下载如何解决?
【10月更文挑战第31天】docker的镜像无法下载如何解决?
405 28
|
19天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
58 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
26天前
|
缓存 监控 持续交付
|
9天前
|
存储 关系型数据库 Linux
【赵渝强老师】什么是Docker的镜像
Docker镜像是一个只读模板,包含应用程序及其运行所需的依赖环境。镜像采用分层文件系统,每次修改都会以读写层形式添加到原只读模板上。内核bootfs用于加载Linux内核,根镜像相当于操作系统,上方为应用层。镜像在物理存储上是一系列文件的集合,默认存储路径为“/var/lib/docker”。
|
15天前
|
存储 监控 Linux
docker构建镜像详解!!!
本文回顾了Docker的基本命令和管理技巧,包括容器和镜像的增删改查操作,容器的生命周期管理,以及如何通过端口映射和数据卷实现容器与宿主机之间的网络通信和数据持久化。文章还详细介绍了如何使用Docker部署一个简单的Web应用,并通过数据卷映射实现配置文件和日志的管理。最后,文章总结了如何制作自定义镜像,包括Nginx、Python3和CentOS镜像,以及如何制作私有云盘镜像。
85 2
|
16天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
29 1
|
18天前
|
存储 Java 开发者
成功优化!Java 基础 Docker 镜像从 674MB 缩减到 58MB 的经验分享
本文分享了如何通过 jlink 和 jdeps 工具将 Java 基础 Docker 镜像从 674MB 优化至 58MB 的经验。首先介绍了选择合适的基础镜像的重要性,然后详细讲解了使用 jlink 构建自定义 JRE 镜像的方法,并通过 jdeps 自动化模块依赖分析,最终实现了镜像的大幅缩减。此外,文章还提供了实用的 .dockerignore 文件技巧和选择安全、兼容的基础镜像的建议,帮助开发者提升镜像优化的效果。
|
22天前
|
存储 缓存 Java
Java应用瘦身记:Docker镜像从674MB优化至58MB的实践指南
【10月更文挑战第22天】 在容器化时代,Docker镜像的大小直接影响到应用的部署速度和运行效率。一个轻量级的Docker镜像可以减少存储成本、加快启动时间,并提高资源利用率。本文将分享如何将一个Java基础Docker镜像从674MB缩减到58MB的实践经验。
36 1
|
29天前
|
Docker 容器
docker:记录如何在x86架构上构造和使用arm架构的镜像
为了实现国产化适配,需将原x86平台上的Docker镜像转换为适用于ARM平台的镜像。本文介绍了如何配置Docker buildx环境,包括检查Docker版本、安装buildx插件、启用实验性功能及构建多平台镜像的具体步骤。通过这些操作,可以在x86平台上成功构建并运行ARM64镜像,实现跨平台的应用部署。
564 2
|
1月前
|
网络协议 Docker 容器
docker pull命令拉取镜像失败的解决方案
docker pull命令拉取镜像失败的解决方案
817 1