1. 容器知识点回顾
容器是什么?
容器就是在隔离的环境中运行的一个进程.
容器的优势: 轻量,损耗少,启动快,性能高
docker: 软件的打包技术
#docker镜像:
docker search
docker pull
docker push
docker image ls == docker images
docker rmi == docker image rm
docker save
docker load
docker import
docker image build
docker image history
docekr tag, docker image tag 1e7f1b941c12 alpine:latest
#docker容器:
docker ps
docker run
docker rm
docker stop
docker start
docker restart
docker kill
docker exec
docker attach
docker cp
docker logs
docker commit
import 导入镜像
export 把容器导出为镜像
#dockerfile指令:
FROM
ADD
RUN
EXPOSE
WORKDIR
CMD
COPY
LABEL version=1.16
2. docker常用指令
docker volume ls
docker run -d -p 88:80 --volumes-from 0017aae5b068 kod:v6
3. docker镜像的分层(kvm 链接克隆,写时复制的特性)
镜像分层的好处:复用,节省磁盘空间,相同的内容只需加载一份到内存。
修改dockerfile之后,再次构建速度快
dockerfile 优化:
1:尽可能选择体积小linux,alpine
2:尽可能合并RUN指令,清理无用的文件(yum缓存,源码包)
3:修改dockerfile,把变化的内容尽可能放在dockerfile结尾
4: 使用.dockerignore,减少不必要的文件ADD . /html
4. 容器间的互联(–link 是单方向的!)
hosts解析
[root@docker01 kod]# docker run -d --name nginx centos6.9\_nginx:v1 nginx -g 'daemon off;'
[root@docker01 kod]# docker exec -it nginx /bin/bash
[root@fef3cf194be8 /]# hostname -I
172.17.0.2
[root@docker01 kod]# docker run -it --link nginx:web centos6.9\_nginx:v1 /bin/bash
[root@969c228864f2 /]# ping web
PING web (172.17.0.2) 56(84) bytes of data.
64 bytes from web (172.17.0.2): icmp_seq=1 ttl=64 time=0.118 ms
64 bytes from web (172.17.0.2): icmp_seq=2 ttl=64 time=0.120 ms
^C
--- web ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1288ms
rtt min/avg/max/mdev = 0.118/0.119/0.120/0.001 ms
[root@969c228864f2 /]# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 web fef3cf194be8 nginx
4.1 docker部署zabbix监控
上传需要的tar包
#上传后校验md5值
ls *.tar.gz|xargs md5sum
for n in `ls \*.tar.gz`;do docker load -i $n ;done
docker run --name mysql-server -it \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix\_pwd" \
-e MYSQL_ROOT_PASSWORD="root\_pwd" \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix\_pwd" \
-e MYSQL_ROOT_PASSWORD="root\_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix\_pwd" \
-e MYSQL_ROOT_PASSWORD="root\_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
#zabbix的默认监控密码
Admin:zabbix
4.2 监控服务
zabbix-agent客户端软件包下载链接_提取码: y7ri
开启另外一台docker宿主机 10.0.0.12
上传zabbix-agent的软件包:
[root@docker02 ~]# hostname -I
10.0.0.12 172.17.0.1
[root@docker02 ~]# ls zabbix-agent-3.2.0-1.el7.x86\_64.rpm
zabbix-agent-3.2.0-1.el7.x86_64.rpm
安装zabbix-agent客户端:
[root@docker02 ~]# rpm -ivh zabbix-agent-3.2.0-1.el7.x86\_64.rpm
warning: zabbix-agent-3.2.0-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zabbix-agent-3.2.0-1.el7 ################################# [100%]
修改zabbix-agent.conf配置文件中指定的服务端IP:
[root@docker02 ~]# egrep '^Server' /etc/zabbix/zabbix\_agentd.conf
Server=10.0.0.11
ServerActive=127.0.0.1
重启zabbix-agent服务
[root@docker02 ~]# systemctl restart zabbix-agent.service
在10.0.0.11 上重启docker的zabbix服务端容器,数据能够加速被监控上
[root@docker01 ~]# docker restart zabbix-server-mysql
zabbix-server-mysql
**先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里**
**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/55003786e3e92120652de34d0f9680ea.png)
![img](https://img-blog.csdnimg.cn/img_convert/4124d0fc0fbb5146dc6e9ffca5b3652f.png)
![img](https://img-blog.csdnimg.cn/img_convert/b351d8c5ecccb6fd2f5988b6491854df.png)
![img](https://img-blog.csdnimg.cn/img_convert/04de4186e1a00e954e0caf82844572e6.png)
![img](https://img-blog.csdnimg.cn/img_convert/8215fe8a09153589e0a582fe7652c5f1.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
1)]
[外链图片转存中...(img-7ZwWO2Rr-1714484461112)]
[外链图片转存中...(img-TcfOxhM2-1714484461112)]
[外链图片转存中...(img-uxMINYUv-1714484461112)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**