Docker-概念及配置(超详细)

docker

第一章

1、什么是docker

答:docker是一种容器引擎,通过docker可以将软件安装并且配置好以后,做成一个镜像文件。通过这个镜像文件可以快速的安装、配置软件环境

2、3个概念

    【docker镜像】:将软件环境安装配置好以后产生的镜像文件,通过它可以快速配置软件环境
​【docker仓库】:存放在docker镜像的位置 
​【docker容器】:通过docker镜像产生的一个实例(一个正在运行的应用程序)
​
​
【问题3:配置docker的要求】centOs的版本必须是7或者是更高版本 

3、安装及配置

@@@@@@@【docker的安装以及配置】
​1、联网安装dockeryum install docker2、启用dockersystemctl start docker3、设置开机启动(只要Linux一加载,docker自动开启)systemctl enable docker
​4、如果要停止dockersystemctl stop docker
更改默认配置
@@@@@@@【更改docker的默认配置】默认情况下,docker类似于maven,需要连接docker仓库下载docker的镜像,但docker仓库的地址在国外,下载比较慢所以我们一般会改成国内的地址 
​
1、进入etc/dockercd   /etc/docker
​
2、编辑 daemon.json在{}中增加下代码,默认{}中是空的
​在{}中添加如下内容{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/","https://9cpn8tt6.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://registry.docker-cn.com"],"insecure-registries": ["10.0.0.12:5000"]}
​
3、停止dockersystemctl stop docker
​
4、启动dockersystemctl start docker

4、操作docker镜像

@@@@@@@@操作docker镜像
​
1、查看当前本地仓库中存在哪些docker镜像docker images
​
2、从远程仓库中查询docker镜像docker search 软件名称 @@@@@@@@@但这种方式是在控制台显示,不够直观,我们可以查询docker的官网进行可视化搜索 
​@@@@@@@@官网地址: hub.docker.com
​
​
3、从远程仓库中拉取docker镜像到本地仓库中方式1: docker pull  软件名:版本号
​docker pull mysql:5.7
​
​方式2:docker pull 软件名       (如果没有指定版本号,系统默认下载最新版本)docker pull nginx
​
​
4、删除镜像
​docker rmi 镜像id 
​docker rmi 605c77e624dd
​@@@@@@@注意:如果当前镜像产生了docker容器(一个正在运行的程序)该镜像无法直接删除
​删除方式1:1、先停止docker容器docker stop  容器id
​2、再删除docker容器docker rm 容器id3、最后删除docker镜像docker rmi  镜像id
​删除方式2:(强制删除)
​docker rmi 镜像Id  -f

5、操作docker容器

@@@@@@@操作docker容器 (一个正在运行的程序)
​
1、查看当前有哪些容器正在运行
​docker ps ---------------------------这个命令只能查看到正在运行的容器 
​
2、查看所有容器(不论是正在运行的还是已经停止的)docker ps -a
​
3、启动容器(通过docker镜像运行一个程序)@@@@@@不同的docker镜像启动容器的方式有所有不同,但大体步骤是一样的
​docker run  -d   -p  linux的端口号:docker中的端口号  软件名:版本号docker run  -d   -p  80:80  nginxdocker run---------运行docker容器
​-d:表示容器在后台运行
​-p  linux系统的端口号:docker中的端口号此处是进行端口映射,通过linux的哪一个端口号映射到docker中的哪一个端口号
​例如:启动nginx容器docker run -d -p 80:80 nginx    例如:启动tomcat容器docker run -d -p 8080:8080 tomcat:8.5.20例如:启动redis容器docker run -d -p 6379:6379 redis
​
4、停止docker容器(让一个正在运行的容器停止运行)docker stop 容器id
​
​
5、让停止运行容器重新运行docker start 容器id
​
​
6、删除容器docker rm  容器Id
​
7、如果容器被删除了,如果要再次运行容器,就需要重新通过镜像启动docker run  -d -p 80:80 nginx

image-20230821143708347

6、nginx

@@@@@nginx
​
1、拉取nginxdocker pull nginx
​
2、产生nginx容器docker run -d  -p 80:80  nginx
​
3、注册防火墙firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --reload

7、redis

@@@@@配置redis
​
1、拉取redis
​docker pull redis
​
2、产生redis容器docker run -d  -p 6379:6379  redis
​
​
3、注册防火墙firewall-cmd --zone=public --add-port=6379/tcp --permanentfirewall-cmd --reload

8、tomcat

@@@@@@@@配置tomcat1、拉取tomcatdocker pull tomcat:8.5.202、产生tomcat容器docker run -d  -p 9999:8080 tomcat:8.5.203、注册防火墙firewall-cmd --zone=public --add-port=9999/tcp --permanentfirewall-cmd --reload

image-20230821153902238

将项目部署到tomcat中
1、在home目录下,创建tomcat目录
mkdir -p /home/tomcat
2、执行命令将docker中tomcat的目录挂载到外部目录中,挂载后操作外部目录就相当于在操作 docker中的目录
docker run -d -p :8080 --name tomcat \
-v /home/tomcat/webapps:/usr/local/tomcat/webapps --privileged=true
tomcat:8.5.20
\ :表示换行--name tomcat: 表示给容器指定别名tomcat-v: 挂载的命令语法:-v /外部目录:/docker容器的目录
示例: -v /home/tomcat/webapps:/usr/local/tomcat/webappstomcat:8.5.20:表示是通过哪一个镜像产生容器
-d:表示后台运行
-p 8080:8080:表示端口映射 -p 宿主机端口:docker容器的端口
docker --privileged=true 参数作用使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限
3、部署项目
只需要将打好的war放到设置的webapps目录即可访问: ip地址:8080/包名
4、如果要进入容器
docker exec -it 容器的Id /bin/bash
或者
docker exec -it 容器的别名 /bin/bash
5、退出容器
exit
6、查看docker进行了哪些端口号的映射
firewall-cmd --list-port

9、MySQL

@@@@@@配置Mysql1、拉取mysqldocker pull mysql:5.72、产生mysql容器docker run  --name some-mysql -e MYSQL_ROOT_PASSWORD=root -d -p 3307:3306 mysql:5.7docker下的mysql:初始账号 root初始密码 root3、注册防火墙firewall-cmd --zone=public --add-port=3307/tcp --permanentfirewall-cmd --reload

image-20230821151237964

10、rabbitmq

@@@@@@配置rabbitmq1、拉取rabbitmqdocker pull rabbitmq:management2、产生rabbitmq容器docker run -d -p 15672:15672  -p 5672:5672  rabbitmq:management3、注册防火墙firewall-cmd --zone=public --add-port=15672/tcp --permanentfirewall-cmd --zone=public --add-port=5672/tcp --permanentfirewall-cmd --reload

Linux防火墙

@@@@@@需要将端口号在防火墙中注册或者是关闭防火墙@@@@@@@注册		firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --reload@@@@@关闭防火墙systemctl stop firewalld.service            #停止firewallsystemctl disable firewalld.service        #禁止firewall开机启动

服务器

阿里云或腾讯云**服务器说白了就是一个ip,把当前虚拟机的ip换成买来的ip

1、在阿里云服务器上部署环境、部署项目 2、git的使用

在实际应用中,我们可以使用一个工具简化操作:“宝塔面板”

${pageContext.request.contextPath}---获得当前

git使用

	方式1:单独使用git不使用idea方式2:结合Idea一起使用
方式1:单独使用
1-6
方式1:单独使用git不使用idea的步骤:1、在当前主机中创建一个目录,作为git的本地仓库(用于存储项目向服务器推送)2、初始化git仓库1、cmd进入目录2、执行命令  git init3、在工作区中创建新文件4、查看工作区的文件git status红色----------新文件或者是修改后的文件,此文件还没有加入到暂存区绿色 ---------文件已经加入到了暂存区,但是还没有提交到Master主分支5、将新文件或者是修改后的文件加入到暂存区git add . -------------------将所有新文件或者是修改后的文件加入暂存区6、将暂存区的文件,提交到主分区git commit -m "第一次提交"数据一旦提交,通过git stutus就看不见任何内容 
7-12
7、在gitee注册账号,并且创建仓库8、将本地仓库与远程git服务器关联git remote add origin 仓库地址 git remote add origin https://gitee.com/brucema567/d116_5.git9、将代码推送到远程的git仓库git push -u origin master10、其他用户要从远程仓库下载代码有两种方式:方式1:clone服务器的代码git clone 仓库地址git clone https://gitee.com/brucema567/d116_5.git方式2:pull方式从服务器拉取1、创建目录2、初始化目录      git init3、关联到远程服务器  git remote add origin https://gitee.com/brucema567/d116_5.git4、从服务器中拉取项目  git pull origin master11、如果修改了代码,先add,再Commit,最后push12、其他用户要拉取最新的代码git pull origin master

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

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

相关文章

回归预测 | MATLAB实现BO-BP贝叶斯优化BP神经网络多输入单输出回归预测

回归预测 | MATLAB实现BO-BP贝叶斯优化BP神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现BO-BP贝叶斯优化BP神经网络多输入单输出回归预测预测效果基本介绍程序设计参考资料预测效果 基本介绍 回归预测 | MATLAB实现BO-BP贝叶斯优化BP神经网络多输入单输出回归预测 B…

Delta模拟器:iOS上的复古游戏天堂

Delta模拟器:iOS上的复古游戏天堂 在数字时代,我们有时会怀念起那些早期的电子游戏,它们简单、纯粹,带给我们无尽的乐趣。虽然现在的游戏在画质和玩法上都有了巨大的提升,但那种复古的感觉却始终无法替代。幸运的是&a…

linux系统安全及应用【上】

目录 1.账号安全控制 1系统账号清理 2密码安全控制 1 对已经存在的用户账号进行控制 2 对新建的用户密码默认设置 3 历史命令和终端自动注销的安全管理 1 历史命令的限制 2. 用户切换管理 1 su命令的使用 2 ssh 3.授权用户管理 1 sudo命令 2 sudo用户别名 3 查看su…

【Git】Git常用命令

1、配置命令 # 查看全局配置列表 git config --global -l # 查看局部配置列表 git config --local -l# 查看所有的配置以及它们所在的文件 git config --list --show-origin# 查看已设置的全局用户名/邮箱 git config --global --get user.name git config --global --get use…

智慧旅游引领旅游行业创新发展:借助智能科技的力量,推动旅游服务的个性化、精准化,提升游客的满意度和忠诚度

随着信息技术的迅猛发展和广泛应用,智慧旅游已成为旅游行业创新发展的重要引擎。智慧旅游借助智能科技的力量,推动旅游服务的个性化、精准化,不仅提升了游客的满意度和忠诚度,也为旅游行业的可持续发展注入了新的活力。本文将从智…

组合优于继承:什么情况下可以使用继承?

C设计模式专栏:http://t.csdnimg.cn/8Ulj3 目录 1.引言 2.为什么不推荐使用继承 3.相比继承,组合有哪些优势 4.如何决定是使用组合还是使用继承 1.引言 面向对象编程中有一条经典的设计原则:组合优于继承,也常被描述为多用组合&#xff0…

链游:未来游戏发展的新风向

链游,即区块链游戏的一种,是一种将区块链技术与游戏玩法相结合的创新型游戏。它利用区块链技术的特性,如去中心化、可追溯性和安全性,为玩家提供了一种全新的游戏体验。链游通常采用智能合约来实现游戏的规则和交易系统&#xff0…

计算机网络和因特网

Internet: 主机/端系统(end System / host): 硬件 操作系统 网络应用程序 通信链路: 光纤、网络电缆、无线电、卫星 传输效率:带宽(bps) 分组交换设备:转达分组 包括&#…

【ensp实验】Telnet 协议

目录 Telnet 协议 telnet协议特点 Telnet实验 ​编辑 不使用console口 三种认证模式的区别 Telnet 协议 Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用…

智能合约——提案demo

目录 这是一个超超超级简单的智能合约提案项目,你确定不点进来看一下吗? 引言: 1、搭建开发环境: 2、编写智能合约: 3、部署智能合约: ​编辑​编辑4、编写前端交互代码(使用web3.js&…

使用riscv-tests进行指令测试(二)

使用riscv-tests进行指令测试(二) 1 测试用例命名规则2 测试用例dump文件介绍 本文属于《 TinyEMU模拟器基础系列教程》之一,欢迎查看其它文章。 1 测试用例命名规则 用例名称 TVM Name “-” Target Environment Name “-” “指令”…

区块链基础——区块链应用架构概览

目录 区块链应用架构概览: 1、区块链技术回顾 1.1、以太坊结点结构 1.2、多种应用场景 2、区块链应用架构概览 2.1、传统的Web2 应用程序架构 2.2、Web3 应用程序架构——最简架构 2.3、Web3 应用程序架构——前端web3.js ether.js 2.4、Web3 应用程序架构—…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之六 简单进行人脸训练与识别

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之六 简单进行人脸训练与识别 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之六 简单进行人脸训练与识别 一、简单介绍 二、简单进行人脸训练与识别 1、LBPH…

【MATLAB源码-第198期】基于simulink的三相光伏并网仿真模拟。

操作环境: MATLAB 2022a 1、算法描述 三相光伏并网系统是一种将太阳能转换为电能并将其馈入电网的系统。这个系统通常包括光伏阵列、逆变器(包括其控制算法)、滤波器、电网连接和监控系统。从上载的框图中可以看出,该系统的设计…

找不到mfc140.dll如何解决?mfc140.dll丢失的几种解决方法分享

在我们启动并开始利用电脑进行日常工作的过程中,如果遭遇了操作系统提示“mfc140.dll文件丢失”的错误信息,导致某些应用程序无法正常运行,这究竟是何种情况呢?小编将介绍计算机缺失mfc140.dll文件的5种解决方法,帮助大…

java项目:微信小程序基于SSM框架实现的购物系统小程序【源码+数据库+毕业论文+PPT】

一、项目简介 本项目是一套基于SSM框架实现的购物系统小程序 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能齐…

unity学习(91)——云服务器调试——补充catch和if判断

本机局域网没问题,服务器放入云服务器后,会出现异常。 想要找到上面的问题,最简单的方法就是在云服务器上下载一个vs2022! 应该不是大小端的问题! 修改一下readMessage的内容,可以直接粘贴到云服务器的。 …

使用FunASR处理语音识别

FunASR是阿里的一个语音识别工具,比SpeechRecognition功能多安装也很简单; 官方介绍:FunASR是一个基础语音识别工具包,提供多种功能,包括语音识别(ASR)、语音端点检测(VAD&#xff…

【Java数据结构】初步认识ArrayList与顺序表

前言~🥳🎉🎉🎉 hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥&#x…

分布式文件系统--MinIO

1 MinIO安装(Docker) ●在root目录下新建docker_minio文件夹 ●在docker_minio文件夹下新建config文件夹,data文件夹 ●在root目录下新建docker_compose文件夹,在docker_compose文件夹中添加docker-compose.yaml services:minio:image: quay.io/minio/miniocontainer_name: mi…