一、简介
本人最近对k8s+docker容器云、微服务进行一些调研,尝试着在docker中安装Nginx。先来安利docker一波,真是神器,但是对于docker的有点本人将在docker的相关文章中介绍。
- 需求:做自动化运维的同学可能需要测试自己写完的shell脚本,docker是一个比虚拟机快照更方便的选择。只需要启动一个docker容器,将写好的脚本以挂载文件的方式,在docker容器中运行即可(copy进去再执行也可以)。
- 环境: 虚拟机+docker
- 优点:当shell脚本有问题的时候,直接kill掉docker容器,修改完shell后重启一个容器再运行即可。
- 目的:为了练习Nginx的安装配置。由于docker使用Linux内核namespace\cgroup等隔离技术,近似等同于虚拟机(有些隔离做的不彻底,不能完全等同于),在docker中练习安装Nginx比跟在虚拟机上安装相差无异,但开销更少。如果仅仅是为了在docker中使用Nginx,只需要直接拉取Nginx镜像再开启容器即可。
二、安裝过程
在docker中安装Nginx的步骤跟上一篇文章Centos7安装nginx(一)大致相同。需要注意的是在docker中使用systemctl必须以特殊的方式启动容器,否则会报错Docker: Failed to get D-Bus connection: Operation not permitted
安装过程主要分为二部分:
- 启动容器
- 安装Nginx
安装部分参考文章Centos7安装nginx(一),本文重点讲解如何启动docker容器,避免在配置systemctl来管理Nginx时出现报错信息。
1. 启动容器
- 容器的正确启动姿势
docker pull centos:7
(拉取镜像)
docker images
(查看镜像具体信息)
步骤3中的镜像版本要与拉去下来的版本信息对应docker run -d --name Nginx --privileged=true docker.io/centos:7 /usr/sbin/init
(以后台运行的方式启动容器)
docker exec -it Nginx /bin/bash
(进入容器)
- docker容器中使用systemctl报错总结
-
Docker: Failed to get D-Bus connection: Operation not permitted
2. 安装Nginx
三、总结
本文主要记录了docker中使用systemctl的报错问题,为下一篇文章Centos7安装nginx(三)之shell脚本自动化安装nginx,通过shell自动化安装Nginx做准备。文章可能在编辑过程中,由于个人疏忽、不同版本markdown解析器不兼容等原因导致字符书写错误,导致安装失败。本文属于原创,若有引用请注明出处。若有疑问或错误,欢迎各位指出,可以评论或者跟本人联系。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。