docker nginx服务器部署

目录

概念

安装Docker

环境说明

安装

确保 yum 包更新到最新。

执行 Docker 安装脚本

启动 Docker进程

验证 docker 是否安装成功并在容器中执行一个测试的镜像

Docker安装nginx

拉取官方镜像

本地查看nginx镜像

启动

部署

创建目录 nginx

部署命令

最后附带一些常备命令

Docker

docker container ls

docker kill _containerId_

docker stop _containerId_

docker ps

docker rm _containerID_


早早完成了任务,闲来无事,顺便把玩了一下docker。

概念

首先从概念开始讲起

此处参考于阮一峰docker    http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

  1. 软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来?

    用户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。举例来说,安装一个 Python 应用,计算机必须有 Python 引擎,还必须有各种依赖,可能还要配置环境变量。

    如果某些老旧的模块与当前环境不兼容,那就麻烦了。开发者常常会说:"它在我的机器可以跑了"(It works on my machine),言下之意就是,其他机器很可能跑不了。

    环境配置如此麻烦,换一台机器,就要重来一次,旷日费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。

-----------------------------------------------------接下来是docker和nginx-----------------------------------------------------------

参考为菜鸟教程centos7安装docker以及docker安装nginx

https://www.runoob.com/docker/centos-docker-install.html

https://www.runoob.com/docker/docker-install-nginx.html

安装Docker

 

我的服务器操作系统是centos7,因此,按照执行命令下来就是这样:

环境说明

Docker 要求 CentOS 系统的内核版本高于 3.10,这里我是root用户登录到我的服务器上

[root@VM_0_11_centos ~]# uname -r
3.10.0-957.el7.x86_64
[root@VM_0_11_centos ~]#

安装

因服务器已安装完毕,因此附上安装代码如下

确保 yum 包更新到最新。

sudo yum update

执行 Docker 安装脚本

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

启动 Docker进程

sudo systemctl start docker

验证 docker 是否安装成功并在容器中执行一个测试的镜像

$ sudo docker run hello-world

Docker安装nginx

拉取官方镜像

$ docker pull nginx

本地查看nginx镜像

[root@VM_0_11_centos ~]# docker images nginx
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              5a3221f0137b        3 weeks ago         126MB
[root@VM_0_11_centos ~]#

启动

$ docker run --name test -p 8000:80 -d nginx

这里解释下test可以任取,为容器名称,8000:80是指端口映射,本地的 8000 端口映射到容器内部的 80 端口。

部署

创建目录 nginx

$ mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
$ docker cp 6dd4380ba708:/etc/nginx/nginx.conf ~/nginx/conf

这里再次解释下在主目录下创建nginx文件夹,里面有三个文件夹,如图

6dd4380ba708则是自己nginx镜像ID如上面本地查看Nginx镜像中的IMAGE ID

[root@VM_0_11_centos ~]# ls
nginx
[root@VM_0_11_centos ~]# cd nginx
[root@VM_0_11_centos nginx]# ls
conf  logs  www
[root@VM_0_11_centos nginx]#

部署命令

$ docker run -d -p 8080:80 --name myBlog -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx

这一条蛮长的,--name后面的是自定义nginx名字,我的是MyBlog,也就是我的博客,将8080端口映射为容器内80端口。

执行完成也就启动成功。只要把自己网站的文件放置www文件夹下即可,如我的网站文件目录

[root@VM_0_11_centos ~]# cd nginx/www
[root@VM_0_11_centos www]# ls
css  fonts  img  index.html  js
[root@VM_0_11_centos www]#

最后访问我的服务器IP,8080端口,即可看见我的博客挂载成功拉http://129.28.156.114:8080/

最后附带一些常备命令

Docker

docker container ls

docker容器的ID,可以通过docker container ls命令显示,如图

[root@VM_0_11_centos ~]# docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
863c547f4448        nginx               "nginx -g 'daemon of…"   About an hour ago   Up About an hour    0.0.0.0:8080->80/tcp   myBlog
dd9d1c40f541        nginx               "nginx -g 'daemon of…"   2 hours ago         Up About an hour    0.0.0.0:8000->80/tcp   runoob-nginx-test
[root@VM_0_11_centos ~]#

这里我起了两个nginx服务,一个是8080端口的博客,一个是8000端口的nginx欢迎页面,CONTAINER ID就在最前面一列。

docker kill _containerId_

这里_containerId_是docker容器的ID,如上,强制终止docker进程

docker stop _containerId_

1.Docker 通过containerd向容器主进程发送SIGTERM信号后等待一段时间后,如果从containerd收到了容器退出消息那么容器退出成功。
2、在上一步中,如果等待超时,那么Docker将使用Docker kill 方式试图终止容器

docker ps

列出所有容器

[root@VM_0_11_centos ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
863c547f4448        nginx               "nginx -g 'daemon of…"   About an hour ago   Up About an hour    0.0.0.0:8080->80/tcp   myBlog
dd9d1c40f541        nginx               "nginx -g 'daemon of…"   2 hours ago         Up About an hour    0.0.0.0:8000->80/tcp   runoob-nginx-test
[root@VM_0_11_centos ~]#

docker rm _containerID_

移除docker容器

好了,差不多结束了,吃晚饭去咯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值