首页 > 其他分享 >容器基础(二)

容器基础(二)

时间:2023-11-14 15:37:19浏览次数:29  
标签:容器 基础 nginx mysql docker root localhost

https://zhuanlan.zhihu.com/p/584327825  #实例案例

mysql实例

#1. 搜索镜像 search 上hub.docker.com搜索
[root@localhost docker]# docker search mysql
#2. 拉取镜像 pull
[root@localhost docker]# docker pull mysql:5.7
#3、运行测试
# -d 后台运行
# --name 给容器命名
# -p 宿主机端口:容器内部端口
[root@localhost docker]# docker run -d -p 13306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql1 mysql:5.7
#测试 (关闭防火墙或授权远程访问)  外部连接访问正常 
#进入容器命令:docker exec -it 容器id /bin/bash
------------------------------容器启动进行数据挂载-----------------------------
#mysql容器正常启动  数据挂载成功  
$ docker run -d -p 23306:3306 -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql01 mysql:5.7
# 开放23306端口及安全组,在容器内部创建用户并授权,测试OK

 

nginx实例

#直接安装nginx镜像运行nginx容器
[root@localhost docker]# docker run -d -p 80:80 --name mynginx nginx
#进入容器 复制文件到容器同上,不在累述
#数据挂载  (把容器文件挂载到宿主机上面,不用每次进入容器内部修改文件,在容器外部宿主机修改文件会自动同步到容器内部,并且当删除容器后,宿主机上的文件不会被删除,相当于对容器内部文件进行持久化操作。)
[root@localhost docker]# docker run -d -p 8033:80 -v /data/nginx/html:/usr/share/nginx/html --name mynginx nginx
#在/data/nginx/html目录下创建test.html
[root@localhost html]# vim test.html
#测试成功
[root@localhost html]# curl localhost:8033/test.html
--------------------------------------------------------------------------------------
[root@localhost docker]# docker run -dit -p 8081:80 -v /data/nginx/conf:/etc/nginx -v /data/nginx/log:/var/log/nginx -v /data/nginx/html:/usr/share/nginx/html --name nginx1 nginx /bin/bash
# 说明:当挂载容器内安装软件配置目录容易出现很多问题,比如:1.后台启动即退出 2.成功启动后无法正常访问
[root@VM_0_5_centos conf]# curl localhost:8081
curl: (56) Recv failure: Connection reset by peer

 

tomcat

#拉取镜像
[root@localhost docker]# docker pull tomcat                                 
#创建容器运行
[root@localhost docker]# docker run -d -p 8080:8080 --name mytomcat tomcat        
#测试访问(记得关闭防火墙 此时会发现访问成功出现404响应,原因是webapps下面没有资源)
ip:8080
#进入容器(可以使用容器名称或容器id)
[root@localhost docker]# docker exec -it mytomcat /bin/bash
#将webapps.dist下的内容复制到webapps下面,重新访问即可看到正常页面
root@ebef54554573:/usr/local/tomcat# cp -r webapps.dist/*  webapps/
#部署项目到tomcat
[root@localhost docker]# docker cp demo.war mytomcat:/usr/local/tomcat/webapps/
#重启tomcat容器
[root@localhost docker]# docker restart mytomcat

标签:容器,基础,nginx,mysql,docker,root,localhost
From: https://www.cnblogs.com/ZhengLiming/p/17831717.html

相关文章

  • k8s基础
    k8s基础Kubernetes(通常称为K8s)是一个开源的容器编排和管理平台,它的主要目标是简化和自动化容器化应用程序的部署、扩展、维护和运维。以下是对Kubernetes的简单理解:容器编排:Kubernetes帮助您有效地管理和编排容器,确保它们在集群中的部署和运行。容器是轻量级的应用程序包装,包......
  • 结合大语言模型与亚马逊云科技基础服务,构建知识库智能搜索问答方案
     背景 本篇主要介绍LangChain和开源大语言模型集成,结合亚马逊云科技的云基础服务,构建基于企业知识库的智能搜索问答方案。  LangChain介绍 LangChain是一个利用大语言模型的能力开发各种下游应用的开源框架,它的核心理念是为各种大语言模型应用实现通用的接口,简化大语言模型应......
  • 网络基础
    网络通信过程数据传递就像快递数据就是物品,寄件人发件人是源目IP地址或者MAC地址,中间的交换机和路由器就像快递站。网关的作用是对数据报文进行解封装,然后读取其目的信息,然后进行封装,根据目的信息把数据报文转发到可以到目的计算机所在网络的网关。计算机A发出数据-----数据到......
  • docker-compose容器编排管理
    一、简介Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工......
  • 秦疆的Java课程笔记:30 基础 三元运算符及小结
    扩展赋值运算符:+=,-=,*=,/=publicclassDome1{publicstaticvoidmain(String[]args){inta=10;intb=20;a+=b;//相当于a=a+bSystem.out.println("a="+(a));intc=30;intd=15;......
  • 【C 语言基础】double类型大小比较的方法——以Java为例
    问题在Java中,int类型数据的大小比较可以使用双等号,double类型则不能使用双等号比较大小(0,0==0.0 是不可以的),那若使用double类型时怎么进行比较呢? 方法(1)转换为字符串如果要比较的两个double数据的字符串精度相等,可以将数据转换成string然后借助string的equals方法来间接......
  • 【C 语言基础】C风格数组初始化”={a};方式”的特性
    当进行数组初始化的时候,可以采用={一个元素的值}的方式,例如:intintarr[10]={1};intchararr[20]={'a'};使用这种方式初始化,可以将数组所有成员都初始化,没有随机值,保证了安全。其中,数组第一个值为指定元素的值,其余成员的值全为0。 测试代码:#include"iostream"usi......
  • (十七)C#编程基础复习——数组
    和其他编程语言一样C#也支持数组,数据是一个用来存储相同类型数据的、固定大小的、具有连续内存位置的顺序集合。数组中的每个元素都对应一个索引值,索引从0开始依次递增,我们可以通过索引来访问数据中的指定元素。假如我们要存储100名学生的分数,若使用普通变量的话可能需要定义100......
  • (十六)C#编程基础复习——可空类型
    一、可空类型在C#1.X的版本中,一个值类型的变量是不可以被赋值为null(空值)的,否则会产生异常。而在C#2.0中,新增了一个nullable类型,可以使用nullable类型定义包含null值的数据,例如,你可以在nullable<Int32>(可为空的int32类型)类型的变量中存储-2147483648到2147483647之间的任何只或......
  • 零基础快速上手STM32开发(手把手保姆级教程)
    零基础快速上手STM32开发(手把手保姆级教程)1.前言作为一名嵌入式工程师,STM32是必须要学习的一款单片机,同时这款单片机资料足够多,而且比较简单,非常适合初学者入门。STM32是一款由STMicroelectronics公司开发的32位微控制器,由于其强大的处理能力和广泛的应用领域,如嵌入式系......