企业应用交付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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
28天前
|
Docker 容器
将本地的应用程序打包成Docker镜像
将本地的应用程序打包成Docker镜像
|
12天前
|
NoSQL PHP MongoDB
docker push推送自己搭建的镜像
本文详细介绍了如何搭建和复盘两个Web安全挑战环境:人力资源管理系统和邮件管理系统。首先,通过Docker搭建MongoDB和PHP环境,模拟人力资源管理系统的漏洞,包括nosql注入和文件写入等。接着,复盘了如何利用这些漏洞获取flag。邮件管理系统部分,通过目录遍历、文件恢复和字符串比较等技术,逐步绕过验证并最终获取flag。文章提供了详细的步骤和代码示例,适合安全研究人员学习和实践。
36 3
docker push推送自己搭建的镜像
|
12天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
37 3
实战~如何组织一个多容器项目docker-compose
|
16天前
|
Docker 容器
|
28天前
|
数据库 Docker 容器
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。Dockerfile定义了构建镜像所需的所有指令,包括基础镜像选择、软件安装、文件复制等,极大提高了开发和部署的灵活性与一致性。掌握Dockerfile的编写,对于提升软件开发效率和环境管理具有重要意义。
56 9
|
28天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
73 7
|
28天前
|
存储 缓存 运维
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像。此机制减少存储占用,提高构建和传输效率。Docker还通过缓存机制提升构建和运行效率,减少重复工作。文章深入解析了Docker镜像分层存储与缓存机制,包括具体实现、管理优化及实际应用案例,帮助读者全面理解其优势与挑战。
44 4
|
1月前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
1月前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
81 0
|
1月前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
41 0

热门文章

最新文章