Docker简单操作及软件部署

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: Docker简单操作及软件部署


我们写代码会接触到好几个环境: 开发环境、测试环境、测试环境


不知道大家有没有遇到过这种情况,一个代码在自己电脑跑的好好的,但是在放到别人的电脑上跑的时候忽然就报错了,究其根本只能是因为环境不匹配导致的,但如何解决这种因为环境导致的问题呢?是不是可以在迁移的过程中,把环境也迁移过去,Docker就是为此而生的

Docker是一个开源的应用容器引擎

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上。

容器是完全使用沙箱机制,相互隔离

容器性能开销极低

Docker安装

第一步:先查看centsos版本
Docker要求CentOS系统的内核版本高于3.10


如果不满足的话可以升级软件包及内核
yum updat

第二步:安装Docker


第三步: 启动Docker


第四步:开机启动docker


第五步:停止docker



Docker架构


镜像(Image) : Docker镜像(lmage),就相当于是—个root文件系统。比如官方镜像ubuntu:16.04就包,含了完整的一套Ubuntu16.04最小系统的root文件系统。

容器(Container) :镜像(lmage)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository) :仓库可看成一个代码控制中心,用来保存镜像。

配置Docker镜像加速器


docker命令

docker服务相关的命令

启动docker

查看docker状态


停止docker


重启docker


开机启动docker



docker镜像相关的命令

查看镜像


搜索镜像


拉取镜像


删除镜像


删除所有镜像


Docker容器相关命令

查看容器



创建容器


注意


如果通过-it创建的容器,退出容器哦之后就关闭了
该创建方式通过exit退出之后不会关闭容器



进入容器


启动容器


关闭容器


删除容器


删除所有容器


查看容器信息



Docker容器的数据卷

Docker容器删除后,在容器中产生的数据还在吗?
Docker容器和外部机器可以直接交换文件吗?


容器之间想要进行数据交互?


数据卷:1.数据卷是宿主机中的一个目录或文件
2.当容器目录和数据卷目录绑定后,对方的修改会立即同步


3.一个数据卷可以被多个容器同时挂载
4.一个容器也可以呗挂载多个数据卷

数据卷的作用

1.容器数据持久化
2.外部机器和容器间通信
3,容器之间数据交换

配置数据卷

创建启动容器时,使用-v参数 设置数据卷


注意事项:
1.目录必须是绝对路径
2.如果目录不存在,会自动创建
3.可以挂载多个数据卷

恢复容器



数据卷容器

多容器进行数据交换
1.多个容器挂载同一个数据卷
2.数据卷容器


配置数据卷容器
1.创建启动c3数据卷容器,使用-v参数设置数据卷


2.创建启动c1 c2容器,使用–volumes-from参数 设置数据卷




Docker应用部署

MySQL部署

案例需求:
在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server


该操作行为称为端口映射
实现步骤:
第一步:搜索mysql镜像
第二步:拉取mysql镜像


第三步:创建容器、设置端口映射、目录映射



第四步:操作容器中的mysql




Tomcat部署

在Docker容器中部罢Tomcat,并通过外部机器访问Tomcat部署的项目。
实现步骤:
1.搜索tomcat镜像
2.拉取tomcat镜像
3.创建容器



4.部署项目
5.测试访问

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
关系型数据库 MySQL 项目管理
YYDS,只用几条命令轻松搭建自己的项目管理平台jira
使用Docker快速搭建Jira的指南:首先确保已安装Docker,然后拉取`cptactionhank/atlassian-jira-software:8.1.0`和MySQL镜像。运行Jira和MySQL容器,分别绑定端口并创建jira数据库。访问Jira服务进行设置,包括选择语言、自定义设置、连接数据库、基础配置、设置密钥及管理员信息。通过Docker,便捷地部署和管理Jira,提升团队项目管理效率。
|
Web App开发 Java 测试技术
SAP OData 编程指南
SAP OData 编程指南
|
存储 Kubernetes Cloud Native
Longhorn,Kubernetes 云原生分布式块存储
Longhorn,Kubernetes 云原生分布式块存储
1093 0
|
消息中间件 存储 缓存
Kafka 3.0重磅发布,弃用 Java 8 的支持!
Kafka 3.0重磅发布,弃用 Java 8 的支持!
1448 0
Kafka 3.0重磅发布,弃用 Java 8 的支持!
|
人工智能 Cloud Native 算法
阿里云数据库· SaaS创业者说——易仓科技
莫明义:等待8年,站上风口,如何飞得更高
723 0
阿里云数据库· SaaS创业者说——易仓科技
|
Go C++ 开发者
复活节彩蛋
        在我们常用的软件当中隐藏了一些小东东,这些小东东我们称之为复活节彩蛋(Easter Eggs)。
1135 0
|
vlayout Android开发 容器
Vlayout使用详细介绍
Vlayout使用详细介绍 目录介绍 1.Vlayout简单介绍 2.主要功能介绍 2.1 主要功能的思维导图 2.2 主要功能说明 .使用方法与案例 3.1 初始化 3.2 设置回收复用池 3.3 设置RecycleView适配器 3.
2709 0
|
SQL Java 数据库连接
Java系列之JDBC和ODBC之间的区别与联系
JDBC简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,它是Java十三个规范之一。
1547 0