码迷,mamicode.com
首页 > 系统相关 > 详细

Linux运维之docker虚拟化部署nginx

时间:2018-08-03 14:27:51      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:not   create   uname   tom   height   保存   lct   idt   _for   

一、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 80:80 docker.io/nginx /bin/bash    # 针对有端口的nginx,并把命令添加至环境变量

   docker pull hub.c.163.com/public/centos:7.0

   docker run --name mydocker -t -i -p 80:80 hub.c.163.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日志
journalctl -u docker.service

 原文出处 http://blog.csdn.net/u011704394/article/details/54341402

 

Linux运维之docker虚拟化部署nginx

标签:not   create   uname   tom   height   保存   lct   idt   _for   

原文地址:https://www.cnblogs.com/linu/p/8392453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!