运维日常错误总结(docker)

一:Apache服务启动失败
报错原因:80端口被占用
分析:netstat -anp|grep 80 检查80端口的占用情况,发现是启动了nginx服务,占用了http服务
解决方式:
1:如nginx是临时用的,没有必要使用,可以杀死nginx进程
2:如若需要使用nginx服务,则需要把配置文件的监听端口给改掉,虽然是非默认端口,只要其他服务不会使用到就没问题,具体操作命令是

    semanage port -a -t http_port_t -p tcp 888
     vi /etc/httpd/conf/httpd.conf #进入文件修改掉配置文件的80为888
    systemctl start httpd
     netstat -anp|grep 80

最后访问ip:888便没问题
二:docker-compose报错问题
ERROR: for web Cannot start service web: b‘driver failed programming external connectivity on endpoint project_web_1 (a80dc6c5c57612d755e2a0b97c4758bb94c4fe7b06bff4219ab417133e3c8b24): Error starting userland proxy: listen tcp 0.0.0.0:8000: bind: address already in use‘
ERROR: Encountered errors while bringing up the project.
错误原因:很明显又是端口占用问题
使用netstat -anp|grep 8000
查处占用的pid

    [[email protected] project]# ps aux|grep 7419/java
    root      60796  0.0  0.0 112712   988 pts/0    S+   23:08   0:00 grep --color=auto 7419/java #这处的7419就占用了

解决方案:kill -9 7419,也可以查看这个进程,找到它的配置文件,修改它的监听端口

三:虚拟机访问mysql容器

    docker container run --rm -d --name django01 --network gtsb -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=blog -e
     HOST=mysql01 -p 8000:8000 django:0920

错误原因:容器没有启动
分析原因:docker logs b4f #b4f为id的前3位
查看日志结果:系统不知道Host.mysql,解决方案是--name mysql。因为在生成镜像的的时候,没有写死,里面的host定义的是mysql,所以--name 要和生成容器定义的host主机一致
如果还有报错,就要检查,网络和密码,以及表名是否还有错误,如果是无法连接到mysql,则要看看镜像名是否用错了

    [[email protected] project]#  docker container run  -d --name mysql --network gtsb -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=blog
    -e HOST=mysql -p 7000:8000 mysql:5.7

原文地址:https://www.cnblogs.com/bobo-wq/p/11588765.html

时间: 2024-11-12 09:22:31

运维日常错误总结(docker)的相关文章

运维日常集合(个人向 坚持更新)

运维日常集合(个人向) 日常运维常用集合,分三部分 windows.linux.Python 得益于python工具便利性,使得运维的工作大大减少. Shell 清除其他终端 who //查看在线终端 pkill -9 -t pts/2 找出内存消耗的进程排序 ps aux --sort=-rss | head -n 4 找出CPU消耗的进程排序 ps aux --sort=-pcpu | head -4 持续 ping 并将结果记录到日志 ping api.jpush.cn | awk '{

系统运维日常工作有哪些,应该具备哪些技能

一.日常工作内容: 1.看监控.网站流量,CDN流量,看邮件有没有普通业务监控报警,看邮件中有没其他需要做的工作 2.处理报警,查看报警的原因,和开发一起解决,并且尽量找出避免再次发生的方法,例如添加一些 定时清理脚本 3.处理发布,基本都是自动化,但是总有发布不成功或者需要回滚的时候,这时候就需要手工介入, 找到原因,并跟开发一起讨论最后是否撤销还是重上 4.日常一起能够自动化的工作尽量找到自动化的方法 5.配合开发搭建测试环境,线上环境,上线代码,以及日常开个权限 6.定期机房巡检 7.灾备

运维日常:快速解决Redis问题

一.问题的存在日常报错: 日常解决分析:日常报错,首先是看日志,这是都是教训总结出来的经验啊...好了,这次是PHP报错,"Redis" not found,要么Redis扩展没装,要么Redis版本不兼容,还要么找不到Redis的默认安装路径.经过排查之后,发现是没装Redis扩展,可能在源码编译的时候,没有加入Redis扩展选项. 备注:其实没装Redis扩展也没什么,也就有一些网页显示不出来,严重的可能认为代码有问题,并不是运维的锅,最后升级发酵变成技术部内讧.当然,一般出错肯定

运维人员的解放----Docker快速部署

Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container).(我个人还是喜欢称虚拟机) Docker应用容器相对于 VM 有以下几个优点: 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久 资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 因为VM 的 Hypervi

运维日常工作知识总结

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://navyaijm.blog.51cto.com/4647068/1242890 1.  windows系统虚拟机自动安装vmtools 通过客户端连上esxi:客户机-安装vmtools 进入系统执行:cmd /ke:&&setup /s/v/qn(e:是光驱盘符) 2.结束用户会话 查看谁在登录系统:w Linux中踢出其他正在SSH登陆用户的命令:pkill -9 -t

运维之我的docker(文章教程汇总)

介绍 Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC(Linux Container) 的高级容器引擎,源代码托管在 Github上, 基于go语言并遵从Apache2.0协议开源. 因为docker使用的是在容器技术上运行环境,而虚拟化是在虚拟化层级上运行虚拟系统然后在虚拟系统上再运行环境.单从层级上docker比虚拟化少一个"虚拟系统"层级的资源消耗,性能和启动速度上要高于虚拟化. 当然docker这两年风靡国内外并不仅因为性能上的优势,也因为dock

运维日常1

一.使用w查看系统负载 w命令用于显示目前登入系统的用户信息.执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序.单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息 1.w命令格式:w [选项] [用户名称] 选项 -f  开启或关闭显示用户从何处登入系统 -h  不显示各栏位的标题信息列 -l  使用详细格式列表,此为预设值 -s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间 -u  忽略执行程序的名称,以及该程

运维日常

一.firewalld和netfilter 1.关闭防火墙 [[email protected] ~]# vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELi

运维日常:Linux调用双版本PHP

1.当前系统状态 [[email protected] ~]# php -v PHP 5.6.31 (cli) (built: Nov 24 2017 12:37:03) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Zend Guard Loader v3.3, Copyright (c) 1998-2014, by Zend Te