最近在研究docker的使用,做下总结,希望对能看到的人有所帮助。

资料推荐:

                  菜鸟教程:​​https://www.runoob.com/docker/docker-tutorial.html​​  ,命令还算是比较全。可以快速看下。

1、docker安装

      我是跟着菜鸟教程安装的教程进行安装。系统是centos

2、docker搭建nginx,可数据共享

      (1) 拉取镜像 : docker pull centos  //拉取最近的centos镜像文件

docker学习总结_nginx

查看目前有的镜像:docker images 会找到你刚才获取的镜像

docker学习总结_nginx_02

(2)在宿主主机(物理机)下载需要的nginx,并且准备好存放nginx配置的文件目录

docker学习总结_centos_03

我选择把数据共享的目录创建到了/home/docker下,html放静态文件,nginx放配置信息

(3)进入容器

docker run -it  -v /home/docker:/home/docker  centos /bin/bash

docker学习总结_centos_04

-t让docker分配一个伪终端并绑定到容器的标准输入上,

-i则让容器的标准输入保持打开.

-v 挂在宿主主机的目录。实现数据共享。神不神奇。/home/docker:/home/docker 【冒号前是物理主机的文件路径,冒号后是docker对应的路径】没有会自动创建。

(4)在docker中安装nginx

docker学习总结_centos_05

 

因为是纯净的centos操作系统。没有任何命令。需要装gcc++等一大堆。自行安装就好

yum -y install gcc-c++  pcre-devel  zlib-devel

yum -y install gcc automake autoconf libtool make

编译完成后检查下

docker学习总结_docker_06

(4)修改nginx的配置为动态加载

docker学习总结_nginx_07

我们对/usr/local/nignx/conf下的nginx.conf增加了【include /home/docker/nginx/*.conf;】以方便动态添加

(5)退出容器,并提交镜像

退出的时候一定要记住这个编号【c38a7bef31c5】,为后面提交镜像做准备

docker学习总结_docker_08

提交镜像文件

docker学习总结_centos_09

 docker commit -m 'test-nginx' c38a7bef31c5 centos:test-nginx

commit -m  'test-nginx' 是提交内容描述

c38a7bef31c5  容器编号

centos:test-nginx 提交后镜像的名字

此时一个简单的docker就创建好了

(6) 创建html文件和nginx配置文件

创建一个html文件,内容为hello2,world

docker学习总结_nginx_10

创建一个test1.conf的配置文件,端口指向了8001

docker学习总结_docker_11

(7)以守护进程的方式启动容器

docker run -itd --name test1_nignx -v /home/docker:/home/docker -p 8001:8001 centos:test-nginx /bin/bash 这里多加了一个d,用以守护进程方式启动

docker学习总结_centos_12

(8)启动容器中的nginx

docker exec -it 5ebc8c2e4aef  /usr/local/nginx/sbin/nginx (在编译nginx的时候把目录写成了nignx,搞了半个小时才发现)

(9)浏览

docker学习总结_nginx_13

docker学习总结_docker_14

docker学习总结_nginx_15