Linux运维之docker虚拟化部署nginx
一、Docker的概念
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
二、Docker的安装环境
1.检查内核版本
# uname -r 查看当前linux得版本信息
Docker要求CentOS7最低内核版本为3.1版本
2. 关闭防火墙和selinux
# systemctl stop firewalld
# setenforce 0
3、解决docker容器启动出现Networking will not work.
vim /usr/lib/sysctl.d/00-system.conf
添加代码
net.ipv4.ip_forward=1
如果没有这一步,启动docker容器时,会出现
WARNING: IPv4 forwarding is disabled. Networking will not work.
三、Docker的安装
# yum install docker -y
# yum install docker-devel -y (可选)
# systemctl start docker 开启docker服务
# ps aux | grep docker 查看docker服务 ==》ps -ef | grep docker
三、Docker的内部安装nginx
[root@localhost ~]# docker search nginx # 搜索nginx的镜像文件
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/nginx Official build of Nginx. 7835 [OK]
docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1251 [OK]
docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 507 [OK]
docker.io docker.io/jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as... 292 [OK]
...............................................................默认选择第一个...........................................................................
[root@localhost ~]# docker pull docker.io/nginx 下载nginx镜像
[root@localhost ~]# docker images # 查看下载的镜像文件
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/nginx latest 3f8a4339aadd 5 weeks ago 108.5 MB
# docker tag 3f8a4339aadd nginx:111 修改镜像名字(可选)
注意:请先确保80端口没有被占用。netstat-lntup|grep80
[root@localhost ~]# docker run -ti -d -p 80:80 docker.io/nginx /bin/bash # 运行nginx容器
WARNING: IPv4 forwarding is disabled. Networking will not work.
bc134155f262031505cebd2978db3a35049d39f4c289711f5b3d89ced5e9497c

[root@localhost ~]# docker ps # 查看运行中的容器
四、Docker的内部启动nginx
[root@localhost ~]# docker exec -ti bc134155f262 /bin/bash # 进入nginx容器内容
root@bc134155f262:/# /usr/sbin/nginx # 启动nginx
root@bc134155f262:/# # 这个提示说明已经进入容器内部了
打开一个新的窗口

[root@localhost ~]# curl 192.168.40.23
[root@localhost ~]# curl 172.17.0.1
[root@localhost ~]# curl 172.17.0.2
能在本地访问到nginx

五、Docker的命令总结
docker search 镜像名 # 搜索是否有相应的镜像
# 下载镜像文件
docker pull docker镜像名 # 查看下载的镜像
docker images # 查看运行中的容器
docker ps # 查看所有容器
docker ps -a # 退出容器
按Ctrl+D 即可退出当前容器【但退出后会停止容器】 # 退出不停止容器:
组合键:Ctrl+P+Q # 启动容器
docker start 容器名或ID
docker run -ti -d -p : docker.io/nginx /bin/bash # 针对有端口的nginx,并把命令添加至环境变量
docker pull hub.c..com/public/centos:7.0 docker run --name mydocker -t -i -p : hub.c..com/public/centos /bin/bash # 进入容器
docker attach 容器名或ID
docker exec -ti bc134155f262 /bin/bash # 停止容器
docker stop 容器名或ID # 删除全部容器--慎用
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
docker rmi 容器名 #保存容器,生成镜像
docker commit 容器ID 镜像名称 # docker容器中查看容器Linux版本
cat /etc/issue # 将文件复制到docker内部容器
docker cp xxx.txt docker容器名或id:/xxx/xxx/xxxx
docker run --name test -it -v /docker/volume/b2:/data docker.io/nginx
docker run -ti -d -p 80:80 docker.io/nginx /bin/bash
# docker日志
journalctl -u docker.service
原文出处 http://blog.csdn.net/u011704394/article/details/54341402
mysql部署
https://hub.docker.com/_/mysql/
[root@node01 ~]# docker images|grep mysql
mysql 5.6 cf6527af4ce6 days ago 256MB
mysql latest d72169616e20 days ago 443MB
[root@node01 ~]# docker run -d --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql
456c2e25205b87bddd6b9ce63c4ba470623ef6ed82101dba238443d6f38a93f1
[root@node01 ~]# docker ps|grep mysql
9002f57dd847 mysql "docker-entrypoint.s…" seconds ago Up seconds /tcp, /tcp mysql
wordpress部署。容器内链接mysql容器未成功
https://hub.docker.com/_/wordpress/
[root@node01 ~]# docker images|grep wordpress
wordpress latest 837092bc87de weeks ago 421MB
[root@node01 ~]# docker run -d -e WORDPRESS_DB_HOST=mysql: --link mysql_db -p : wordpress
49b2ca49d067d0bf0af27a0b9ccfb4def72d66db092f74887a7330f226076d0a
[root@node01 ~]# docker ps|grep wordpress
dec50e77c005 wordpress "docker-entrypoint.s…" seconds ago Up seconds 0.0.0.0:->/tcp suspicious_jennings docker run -d --name some-wordpress -e WORDPRESS_DB_HOST=mysql: -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=wordpress -p : wordpress
docker run -d -e WORDPRESS_DB_HOST=mysql: --link mysql -p : wordpress
扩展小知识
Linux运维之docker虚拟化部署nginx的更多相关文章
- linux运维、架构之路-Nginx反向代理
一. Nginx负载均衡和反向代理知识 1.集群概念 一堆服务器合作做同一件事,这些机器可能需要整个技术团队架构.设计和统一协调管理,这些机器可以分布在一个机房,也可以分布在全国各个地区的多个机房 ...
- linux运维、架构之路-Nginx服务
一.Nginx服务 1.介绍 Nginx软件常见的使用方式或架构为:LNMP(linux nginx mysql php),Nginx三大主要功能,web网站服务,反向代理负载均衡(n ...
- linux运维、架构之路-Nginx提高
一.虚拟主机搭建 1.基于域名的虚拟主机 [root@web01 html]# cat nginx.conf worker_processes ; events { worker_connection ...
- Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!
Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...
- linux运维工程师面试题收集
面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...
- Linux运维发展与学习路线图
记录一下Linux所要懂的知识体系,方便未来学习的时候自我验证. Linux运维课程体系大纲: Linux入门 了解Linux基础,知道什么是Linux,会安装Linux,使用相关基础命令,如:cd, ...
- 运维是做什么的?史上最全互联网Linux工作规划!十分钟找到linux运维工程师职业方向!
首先祝贺你选择学习Linux,你可能即将踏上Linux的工作之旅,出发之前,让我带你来看一看关于Linux和Linux运维的一切. Linux因其高效率.易于裁剪.应用广等优势,成为了当今中高端服务器 ...
- 最适合初学者的Linux运维学习教程2018版
Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...
- Linux 运维入门到跑路书单推荐
一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统. https://b ...
随机推荐
- leetcode 栈和队列类型题
1,Valid Parentheses bool isVaild1(string& s) { // 直接列举,不易扩展 stack<char> stk; ; i < s.le ...
- vue 使用scss
使用vue-cli模板创建的项目中,使用scss步骤 1. cmd命令: cnpm install sass-loader --save-dev cnpm install node-sass --s ...
- 20165315 C语言学习情况与Java学习目标
20165315 C语言学习情况与Java学习目标 一.出色技能的获取经验 我从小便是一个中规中矩的人,在很多方面都是让成绩尽量保持在前百分之二十到三十这个范围内,比如我比较擅长的唱歌和乒乓球,但也不 ...
- JQuery UI之Autocomplete(4)多值输入、远程缓存与组合框
1.多值输入 首先加入相关的css和js文件,以及对应的HTML代码如下: <link href="../css/jquery-ui.css" rel="style ...
- Lucene/Solr企业级搜索学习资源
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http GSol ...
- Vue 局部组件和全局组件的使用
<template> <div id="app"> <!--<img alt="Vue logo" src="./ ...
- Dottrace 10.0.2 使用心得
开发环境vs2015 软件:JetBrains dotTrace 10.0.2 刚开始不知道怎么下手,多看了一会还有一位仁兄的解释.算是对某个功能小有入门了. 当前会查看某个方法在抓取快照时间它的执行 ...
- 3G - 汉字统计
统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行. [Hint ...
- BZOJ1791或洛谷4381 [IOI2008]Island
一道基环树的直径 BZOJ原题链接 洛谷原题链接 又是一道实现贼麻烦的题.. 显然公园其实是基环树森林,求的最长距离其实就是求每一棵基环树的直径的总和. 对于每棵基环树,其直径要么经过环,要么是某个环 ...
- 如何修改隐藏Zblog/WordPress默认后台登录地址
我相信很多博主站长都遇到过站点被暴力破解,虽然未被破解,但是经常收到那些尝试登录失败的邮件提醒也会心慌慌的.对于这种情况,最好的办法就是修改/隐藏我们的后台登录地址. 关于zblogASP后台登录地址 ...