Docker 环境搭建和运维

简介: 1、docker安装2、镜像制作3、镜像站搭建4、docker部署

1、docker安装

2、镜像制作
构建镜像有两种方式:

docker build -t quality-dataadapter:v2.4 ./

A、Dockerfile:

RROM openjdk:8
ADD ["quality-dataadapter-1.0-SNAPSHOT.jar", "/quality-dataadapter.jar"]
EXPOSE 26001
ENTRYPOINT ["java","-jar","-Duser.timezone=GMT+8","-Dfile.encoding=UTF-8","-Dquality.db.path=/config","-Dspring.config.file:./config/","-Dspring.profiles.active=dev","/quality-dataadapter.jar"]

FROM 构建镜像的起点镜像
ADD 增加文件到镜像中, 第一个参数为当前系统中的文件,第二个参数是制作成镜像的文件局对路径
EXPOSE 暴露的端口
ENTRYPOINT 容器启动后,第一个运行的程序

B、容器commit:

docker commit -m "配置环境完成" -a "jDK8 版本" 0b2r16ace5tm quality-dataadapter:v2.4

-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。

3、镜像站搭建

4、docker部署
1、获取镜像包

docker save -o dockerPackage.tar  dockerContainer:v2.4

2、将镜像包导入到本地仓库

docker load --input dockerPackage.tar 或 docker load < dockerPackage.tar

3、启动容器

docker run -d --name quality-adapter  -p 26001:26001 -v /docker/adapter/config:/config -v /docker/adapter/logs:/logs -v /app:/app quality-dataadapter:V2.4

--name 启动的容器名
-p 容器端口与宿主机端口的映射 前面那个是宿主机端口,后面那个是容器端口
-v 将容器路径挂在到宿主机上,前一个参数为宿主机路径,后一个为容器的路径
此处有一个个人经验,如果容器启动后又迅速关闭,那么容器启动是执行的进程必定是有问题。此时最好的办法是,在打镜像时,ENTRYPOINT设置为top指令,在启动容器时,使用-dit指令,则可以启动容器后通过top指令将容器挂起。然后进入容器,排查启动指令在哪一步出现问题。
4、进入docker

 docker exec -it 0b2r16ace5tm  /bin/bash

--it 容器id

5、管理镜像仓库中的镜像

查看镜像仓库中的镜像
  docker images
删除镜像
  docker rmi ab2r16rcevtm   镜像id

目录
相关文章
|
1月前
|
缓存 运维 Docker
容器化运维:Docker Desktop 占用磁盘空间过大?教你轻松解决!
Windows Docker Desktop 使用过程中,因镜像、容器数据及构建缓存的累积,可能导致磁盘空间占用过高。通过删除无用镜像与容器、压缩磁盘以及清理构建缓存等方法,可有效释放空间。具体步骤包括关闭WSL、使用`diskpart`工具压缩虚拟磁盘、执行`docker buildx prune -f`清理缓存等。这些操作能显著减少磁盘占用,提升系统性能。
374 4
|
1月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
6月前
|
运维 监控 Docker
构建高效微服务架构:从理论到实践构建高效自动化运维体系:Ansible与Docker的完美融合
【5月更文挑战第31天】 在当今软件开发的世界中,微服务架构已经成为了实现可伸缩、灵活且容错的系统的关键策略。本文将深入探讨如何从零开始构建一个高效的微服务系统,涵盖从概念理解、设计原则到具体实施步骤。我们将重点讨论微服务设计的最佳实践、常用的技术栈选择、以及如何克服常见的挑战,包括服务划分、数据一致性、服务发现和网络通信等。通过实际案例分析,本文旨在为开发者提供一套实用的指南,帮助他们构建出既健壮又易于维护的微服务系统。
|
3月前
|
运维 开发者 Docker
Docker容器化技术在运维中的应用实践
【8月更文挑战第27天】本文旨在探讨Docker容器化技术如何在现代运维工作中发挥核心作用,通过深入浅出的方式介绍Docker的基本概念、优势以及实际应用场景。文章将结合具体案例,展示如何利用Docker简化部署流程、提高资源利用率和加强应用的可移植性。读者将获得对Docker容器技术在实际运维中应用的全面认识,并能够理解其在提升运维效率与质量方面的重要性。
|
3月前
|
应用服务中间件 网络安全 nginx
运维专题.Docker+Nginx服务器的SSL证书安装
运维专题.Docker+Nginx服务器的SSL证书安装
135 3
|
3月前
|
运维 监控 持续交付
构建高效自动化运维体系:Ansible与Docker的协同实践
【7月更文挑战第42天】 在当今快速发展的云计算和微服务架构时代,自动化运维已成为提升效率、确保系统稳定性的关键。本文将探讨如何利用Ansible这一强大的自动化工具与Docker容器技术相结合,搭建一个高效、可靠的自动化运维体系。文章首先简述了自动化运维的必要性和Ansible与Docker的基本概念,随后详细介绍了两者结合的优势,并通过实际案例分析展示了如何实现自动化部署、管理和扩展应用服务。通过阅读本文,读者将获得一套可行的自动化运维解决方案,以应对日益复杂的IT环境挑战。
|
3月前
|
运维 监控 数据可视化
"揭秘Docker管理神器Portainer:一键解锁Docker可视化管理新境界,让你的运维工作轻松又高效!"
【8月更文挑战第11天】Docker简化了应用部署与管理,但容器规模增大时,高效管理变得挑战重重。Portainer作为轻量级Docker管理工具,以直观界面和全面功能脱颖而出。它不仅简化了容器的创建、监控与操作,还涵盖了镜像、网络、卷管理及用户权限控制。Portainer易于部署,兼容单机与Swarm集群,降低学习门槛。本文深度剖析Portainer优势,并通过实例展示其实用性,使读者对其功能与价值有深刻理解。
92 3
|
3月前
|
存储 运维 Linux
运维系列.在Docker中使用Grafana(一)
运维系列.在Docker中使用Grafana(一)
408 5
|
3月前
|
存储 Linux 数据库
运维系列.在Docker中使用Grafana(二)
运维系列.在Docker中使用Grafana(二)
126 4
|
3月前
|
运维 Shell Linux
运维专题.Docker功能权限(Capabilities)管理和查看
运维专题.Docker功能权限(Capabilities)管理和查看
116 1
下一篇
无影云桌面