Docker介绍、常用命令、项目部署

news2024/12/30 4:00:56

什么是Docker

简单说:Docker就是一个虚拟机,专业说:它是一个开源的容器平台。它和我们常用的VMware有很多相似的地方。

名词解释

镜像/images 由本体打包出来的文件。并不是文件本身,但是具有该文件的功能。举个不太贴切的例子,就像镜子里的你,虽然不是真的你本人,但是你做的任何动作他也会做。

仓库/DockerHub 存放镜像的地方,类似GitHub。包括MySQL、Tomcat、Redis、Nginx等等。有很多第三方提供的镜像,您可以通过pull命令下载使用。您也可以通过push命令上传镜像到仓库。

容器/container 运行的虚拟机,它是由镜像运行时生成的,并且一个镜像可以运行出多个容器。

Docker File 指定镜像是如何构建的。简单说就是把你的项目通过build命令构建成镜像【然后镜像run以后就会变成容器,在容器中运行你的项目】

tar文件 可以把镜像文件打包成tar文件

他们之间的关系:

docker

Docker特点

Docker虚拟技术与传统虚拟技术的区别

Docker思想来源于集装箱,核心思想是隔离。

  • Docker采用最简易的内核,只有几M
  • 容器相互独立,能区分计算资源

Docker思想

开发人员把项目打成war包+环境打包+数据打包成镜像,上传到DockerHub仓库,运维或者测试只需要下载开发的镜像,然后运行就可以。

以下内容为笔记,未经实际操作

Docker安装

以centos7为例

设置服务器IP地址

1、修改
BOOTPROTO=static
ONBOOT=yes
1表示使用静态IP
2表示重启时自动启用静态IP
2、增加
IPADDR=根据当前服务网络IP设置
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=114.114.114.114

more ifcfg-ens33命令可以查看文件修改后的内容

  • cd /etc/sysconfig/network-scripts
  • vi ifcfg-ens33修改文件内容

重启网络服务systemctl restart network.service

关闭防火墙systemctl stop firewalld.service

关掉本地防火墙和杀毒软件

现在就可以通过xshell进行远程连接了,现在在xshell里操作

安装Docker依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

安装国内下载源

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

安装Docker

yum install -y docker-ce

启动

systemctl start docker

验证

docker version

Docker应用

  1. 在开始测试前,在服务器安装Docker,Docker版本与开发版本一致
  2. 根据测试请求说明在镜像地址拉取镜像
  3. 运行镜像生成容器
  4. 访问项目,开始测试

Docker常用命令

搜索镜像

docker search 镜像名称

拉取镜像

docker pull 镜像名称

查看本地镜像(及镜像信息)

docker images

运行镜像生成容器

docker run -d -p 9999:8080 镜像ID

-d: 在后台运行 -p 9999:8080: 服务器端口映射到容器的端口 执行后会返回一长串数,证明已经正常运行

查看本地正在运行的容器

docker ps

查看所有历史运行的容器

docker ps -a

查看容器内部日志信息

docker logs -f 容器ID

进入容器

docker exec -it 容器ID /bin/bash

ls -l就可以查看有哪些文件了 d开头表示文件夹 -开头表示文件

退出容器

exit

启动/停止/重启容器

docker start/stop/restart 容器ID

Docker部署项目

# 先查看镜像ID
docker images
# 运行
docker run -d -p 9999:8080 镜像ID
# 查看正在运行的容器
docker ps
# 进入容器
docker exec -it 容器ID /bin/bash
# 查看文件【1】
ls -l
# 进入放项目的目录
cd 文件夹名
# 需要上传war文件,先退出容器
# 下载一个上传工具lrzsz
exit
# 下载lrzsz(下载过程中都选y)
yum install lrzsz
# 下载好以后切换到根目录
cd /opt
# 查看根目录文件
ls
# 上传war包
rz
# 查看是否上传成功
ls
# 查看正在运行的容器(方便复制ID)
docker ps
# 复制文件到容器下对应的文件夹
# 文件夹路径可以在上面【1】看到
docker cp 文件名.war 容器ID:文件夹路径
# 进入容器查看
docker exec -it 容器ID /bin/bash
# 查看文件
ls -l
# 进入放文件的文件夹
cd 文件夹名
# 查看文件(确认是否复制过来了)
# 一般都是复制到Tomcat的webapps文件夹中
# 如果Tomcat正在运行,会自动将war包解包
ls -l

现在就已经把项目部署到了测试环境了。

访问项目

http://IPADDR中设置的IP地址:9999/项目名称

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/563423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

离线安装python、pip和python的第三方库

1.安装python3 1.1下载python3 安装python3的网址为点击这里 选择想要下载的对应版本进行下载,这里使用的是63位的Windows系统,因此下载的选的是: 下载后如图: python-3.7.9-amd64.exe是python3的安装程序 1.2安装python3 1…

5月第3周榜单丨飞瓜数据B站UP主排行榜单(哔哩哔哩)发布!

飞瓜轻数发布2023年5月15日-5月21日飞瓜数据UP主排行榜(B站平台),通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况,为用户提供B站号综合价值的数据参考,根据UP主成长情况用户能够快速找到运营能力强的B…

BLE协议栈结构

// 开坑BLE协议栈 0 镇楼图 接下来会自下往上粗略分析各个层级,后续会有对各层的细致解读 1 CONTROLLER 1.1 PHY BLE使用ISM频段(频率范围是2.400-2.4835 GHz)。将整个频带分为40份,每份的带宽为2MHz,称作RF Chann…

CASAIM与北京体育大学达成合作,高精度三维扫描技术助力体育运动装备仿真分析

近期,CASAIM与北京体育大学开展合作交流,基于高精度三维扫描技术助力体育运动装备仿真分析,为体育运动装备可靠性研究提供准确的数据参考。 北京体育大学是全国重点院校、国家“211工程”重点建设大学、国家首批“双一流”建设高校&#xff0…

基于springboot+vue社区团购系统(分前后台springboot+mybatis+mysql+maven+vue+html)

基于springbootvue社区团购系统 一、项目简介二、技术实现三、开发运行环境四、系统功能五、页面展示六、数据库七、项目结构八、部分代码展示九、源码地址 一、项目简介 本项目是一套基于springboot社区团购系统,主要针对计算机相关专业的正在做毕设的学生与需要项…

【正点原子STM32连载】 第十六章 外部中断实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十六…

【Sentinel】流控、熔断、热点基本介绍和使用

目录 环境介绍Sentinel的使用可以分为两个部分Sentinel管理控制台客户端接入控制台配置启动参数流控规则名词解释 熔断策略公共字段说明慢调用比例字段说明 异常比例字段说明异常数字段说明 热点规则 环境介绍 开发依赖版本Spring Boot3.0.6Spring Cloud2022.0.2Spring Cloud …

一文搞清RabbitMQ的部署运维及使用

1.通过docker-compose安装RabbitMQ 1.0 初始化yum和Docker yum update yum install epel-release -y yum clean all yum list yum install docker-io -y1.1 dockerfile FROM rabbitmq:management MAINTAINER LCJ # 添加插件到指定目录 可按照此方式自行扩展其他插件 # ADD .…

shopee虾皮跨境电商网站商品数据支持网站后缀(.com.my;.vn;.ph)

作为一名技术爱好者,我们总会遇到各种各样的技术问题,需要寻找合适的技术解决方案。而在互联网时代,我们可以快速通过搜索引擎获取丰富的技术资源和解决方案。然而,在不同的技术分享中,我们常常会遇到质量参差不齐的文…

【新星计划·2023】单臂路由的原理讲解

单臂路由是指在路由器的一个接口上通过配置子接口的方式,实现原来互相隔离的VLAN之间可以互相通信。 一、单臂路由概述 网络中通过VLAN技术来实现隔离广播、方便管理及提高安全性等功能,一旦划分VLAN后,同—VLAN之间可以相互通信&#xff0…

【统计模型】瑞典生育率现状与影响因素分析

目录 瑞典生育率现状与影响因素分析 一、研究目的 二、数据来源和相关说明 三、描述性分析 3.1 样本描述 3.2 数据可视化 四、数学建模 4.1 模型建立 4.2 模型结果 (1)全模型A (2)全模型B (3)全…

传奇手游三职业1.80合击服务端三端互通版搭建教程

传奇手游三职业1.80合击服务端三端互通版搭建教程 大家好,我是驰网艾西。随着时代的发展,以前我们热爱的传奇游戏也越来越没有时间玩了,到了一定的年纪大家都有自己的事业以及生活压力。以前我们总是玩PC端所谓的端游,现在大家都…

highcharts矢量图放在图表的最上方

将矢量图对应的y轴的top和height都设置为0 即可 下面红色标注全是y轴的设置 以上这中图怎么实现 其中top是指图表中每个模块的位置,offset表示偏移的位置,height表示每个模块占据整个图标的高度的百分比,opposite表示该y轴是否在右侧&#xf…

麒麟系统安装HDP【已解决】

麒麟系统安装HDP 麒麟系统安装HDP1、软件版本介绍2、文件替换3 报错解决3.1 解决KeyError: HDP-3.1(所有机器)3.2 安装smartsense-hst(所有机器)3.3 解决Non-ASCII character \xe5 in file(所有机器)3.4 解…

如何解决端口号被占用的方法

在学习JavaWeb的过程中,在运行代码的时候经常会提示端口号被占用的情况;出现这情况的主要原因就是没有正常关闭tomcat。 那么遇到这种情况应该怎么解决呢? 首先第一种方式就是把电脑关机重启,这种方法可谓是百试百灵;另…

分类逻辑回归实例一

一、实例背景 假设根据【推荐分值】来对推荐者类型进行分类:高推荐、中推荐、低推荐 二、任务目标 训练出一个模型,来实现根据【推荐分值】,来预测【推荐类型】的分类 三、机器学习实现 1. 核心步骤 实现全流程: 1. 1 建立…

Niagara—— Events and Event Handlers

目录 一,Events 二,Event Handlers 多数情况下,系统中的发射器需相互交互,才能创建所需效果;意味着,一发射器生成数据,另一发射器监听该数据,以执行相应行为;在Niagar…

Linux-初学者系列_docker

目录 Linux-初学者系列_docker一、概念二、安装docker(可忽略 跳到第三步)三、获取镜像1、下载nginx镜像2、查看本地镜像3、将镜像运行成一个容器01-查看运行的容器02-通过ip端口号访问03-删除端口04-指定镜像名字 4、dockerfile构建镜像5、dockersave构…

HLS入门实践

HLS入门实践 文章目录 HLS入门实践1.HLS基本知识简述1.1 HLS简介1.2 HLS相关知识概念 2. HLS技术认识2.1 与VHDL/Verilog关系2.2 关键技术问题2.3 存在的技术局限性 3. HLS 完成 led 灯闪烁3.1. 新建一个 HLS 工程3.2 添加源文件3.2.1 led.h3.2.2 led.cpp3.2.3 添加 C 仿真文件…

<Linux开发>驱动开发 -之-pinctrl子系统

<Linux开发>驱动开发 -之-pinctrl子系统 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移植过程详细记…