Docket常见的软件部署1,2024年最新手慢无

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

os.makedirs(folder_path)
       config_path = os.path.join(folder_path, ‘conf’)
       if not os.path.exists(config_path):
           os.makedirs(config_path)
       data_path = os.path.join(folder_path, ‘data’)
       if not os.path.exists(data_path):
           os.makedirs(data_path)
       config_data = “”"[mysqld]
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
log-error=/var/log/mysql/error.log
server-id={}
log-bin=/var/log/mysql/mysql-bin.log
expire_logs_days=30
max_binlog_size=256M
symbolic-links=0

slow_query_log=ON

slow_query_log_file=/var/log/mysql/slow.log

long_query_time=1"“”.format(index+1)

config_file = os.path.join(config_path, ‘mysqld.cnf’)
       with open(config_file, ‘w’) as f:
           f.write(config_data)


def run_mysql():
   for index, name in enumerate(folderList):
       cmd = "docker run -d -p {0}:3306 --name=mysql_{1} "
             "-v {2}/{1}/conf:/etc/mysql/mysql.conf.d "
             "-v {2}/{1}/data:/var/lib/mysql "
             “-e MYSQL_ROOT_PASSWORD=123456 mysql:5.7”.format(4306+index, name, localPath)
       os.system(cmd)
       # print(cmd)


if name == ‘main’:
   create_config()
   run_mysql()



先拉起mysql的镜像

docker pull mysql:5.7

在将上面的脚本复制到test.py的文件中, 执行脚本

python3 test.py


![](https://img-blog.csdnimg.cn/direct/038eeab7fd9b48ddb838c17532c0bd82.png)



#master, 进入容器中
docker exec -ti mysql_master bash
mysql -u root -p
grant replication slave on . to ‘slave’@‘%’ identified by ‘iamslave’;
flush privileges;
show master status; #显示master上面的状态

#slave1
docker exec -ti mysql_slave1 bash
mysql -u root -p
reset slave;
change master to master_host=‘192.168.1.13’, master_port=4306, master_user=‘slave’, master_password=‘iamslave’, master_log_file=‘mysql-bin.000003’, master_log_pos=590;
start slave;

master_host 为master的IP, master_port为master的端口,master_user为通信用户名,master_password为密码,master_log_file为master的bin日志,master_log_pos为master的log_pos

show slave status \G #查看状态如果Slave_IO_Running: Yes Slave_SQL_Running: Yes 则表示开启成功


![](https://img-blog.csdnimg.cn/direct/f81a8bb1a8534a088af3d761abfaa578.png)


### 3 安装ES+kibana



安装ES

创建网络ES和kibana通信

docker network create es-net
mkdir -p /home/wuzhibin/docker/es/data
mkdir -p /home/wuzhibin/docker/es/plugins

启动容器

docker run -d --name es -e “ES_JAVA_OPTS=-Xms512m -Xmx512m” -e “discovery.type=single-node” -v /home/wuzhibin/docker/es/data:/usr/share/elasticsearch/data -v /home/wuzhibin/docker/es/plugins:/usr/share/elasticsearch/plugins --privileged --network es-net -p 9200:9200 -p 9300:9300 elasticsearch:7.12.1

如果启动报错,日志是映射没有权限的化, 在重新启动

chmod 777 -R /home/wuzhibin/docker/es


1. docker run -d: 这部分表示在后台运行容器。
2. --name es: 为容器指定一个名字,这里是 “es”。
3. -e "ES\_JAVA\_OPTS=-Xms512m -Xmx512m": 设置 Java 虚拟机的参数,包括初始堆内存大小 (-Xms) 和最大堆内存大小 (-Xmx),这里都设置为 512MB。
4. -e "discovery.type=single-node": 设置 Elasticsearch 的节点发现机制为单节点,因为在这个配置中只有一个 Elasticsearch 实例。
5. -v es-data:/usr/share/elasticsearch/data: 将容器内 Elasticsearch 的数据目录挂载到宿主机的名为 “es-data” 的卷上,以便数据持久化。
6. -v es-plugins:/usr/share/elasticsearch/plugins: 类似上面,将容器内 Elasticsearch 的插件目录挂载到宿主机的名为 “es-plugins” 的卷上。
7. --privileged: 赋予容器一些特权,可能会有一些安全风险,需要慎用。
8. --network es-net: 将容器连接到名为 “es-net” 的网络上,目的是为了与其他容器进行通信。
9. -p 9200:9200 -p 9300:9300: 将容器内部的端口映射到宿主机上,这里分别是 Elasticsearch 的 HTTP REST API 端口(9200)和节点间通信的端口(9300)。
10. elasticsearch:7.12.1: 指定要运行的 Docker 镜像的名称和版本号,这里是 Elasticsearch 7.12.1 版本。


访问IP:9200 验证是否启动成功


![](https://img-blog.csdnimg.cn/direct/b9964a0ac7c1456a95cce1038545dde3.png)



安装可视化工具kibana

ELASTICSEARCH_HOSTS为上一个ES容器的ip

docker run -d --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.1.113:9200 --network=es-net -p 5601:5601 kibana:7.12.1



访问kibana地址ip:5601


![](https://img-blog.csdnimg.cn/direct/485c06535be040a9a244550a43984db8.png)



### 4 安装jekins



#拉取jenkins镜像
docker pull jenkins/jenkins

查看镜像

docker images

创建保存容器数据的文件夹

mkdir -p /home/wuzhibin/docker/jenkin/data
#启动容器
docker run -u root -d -p 8000:8080  --name=jenkins -v /home/wuzhibin/docker/jenkins/data:/var/jenkins_home   jenkins/jenkins

查看容器状态

docker ps

网页打开

ip:8000

进入容器,获取第一次登录密码


ip:8000访问jenkins的网址,第一次需要获取管理员的密钥


![](https://img-blog.csdnimg.cn/direct/20c24c951032453f93f7ecd41068b565.png)



进入容器

docker exec -ti jenkins  bash

获取管理员的密钥

cat /var/jenkins_home/secrets/initialAdminPassword

jenkin设置中可以更换插件地址,下载插件更快

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json  # 更快
http://mirror.esuni.jp/jenkins/updates/update-center.json


### 5 安装rabbitmq



下载镜像

docker pull rabbitmq:management

启动容器-e 设置账号为admin, 密码为admin, 这个镜像会直接安装rabbitmq+管理工具

docker run -di --hostname 0.0.0.0 --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 61613:61613 -p 1883:1883 rabbitmq:management


ip:15672 进入管理页面,账号密码为上面设置的账户和密码


![](https://img-blog.csdnimg.cn/direct/db67d769c6ee4ef1af5e5e2bf0b41127.png)


![](https://img-blog.csdnimg.cn/direct/00ae2005e5f74e7b9dc7e4866a2cbf58.png)


### 6 安装redis



下载镜像

docker pull redis

启动redis 容器 appendonly yes 表示开启持久化

docker run --name my-redis -d  -p 6379:6379  -v /home/wuzhibin/docker/redis/data:/data redis redis-server /etc/redis/redis.conf --appendonly yes


![](https://img-blog.csdnimg.cn/direct/cedfeacf2a324e72bfc6348094e0c6b4.png)


### 7 安装管理docker工具



拉起镜像

docker pull portainer/portainer

启动容器 privileged=True 设置特权模式,–restart=always 重启docker总是自启容器

docker run --name=portainer -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=True portainer/portainer


IP:8088 进入设置密码之后,选择连接本地的docker环境


![](https://img-blog.csdnimg.cn/direct/db8ad5a10f4043719fdf056fdb39336b.png)


![](https://img-blog.csdnimg.cn/direct/f9eb3348e8094654a42420f50c89cb3c.png)



为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/ba0c884913f7bcbdb8b2223ab5778575.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/f893a6b56634efc1651b9a8d5f0d359d.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-9AO9KsEr-1713320905008)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值