博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker学习笔记二
阅读量:4623 次
发布时间:2019-06-09

本文共 5027 字,大约阅读时间需要 16 分钟。

知识点:

1)手动构建镜像

2)Dockerfile快速构建镜像

 

阿里云yum源

https://opsx.alibaba.com/mirror

镜像制作

nginx镜像实例

 

创建并运行centos容器

[root@izm5edykqg8tzid352ga0iz mysql]# docker pull centos   //以centos为基础[root@izm5edykqg8tzid352ga0iz mysql]# docker run -it centos /bin/bash[root@696cd0ad637b /]#   //已经进入容器

更新容器yum源并安装nginx

[root@8ab2b9d7afab yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo[root@8ab2b9d7afab yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo[root@8ab2b9d7afab yum.repos.d]# yum -y install nginx

退出该容器,然后基于该容器做一个镜像

[root@izm5edykqg8tzid352ga0iz mysql]# docker commit -m "my nginx" e1edeef7375f(容器名or容器ID) danny/nginx:v1(镜像名:版本号)sha256:a5d464ef190c80411161ec6193b877eb5592a1961aeb318e341a9f9c46a39d05[root@izm5edykqg8tzid352ga0iz mysql]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEdanny/nginx         v1                  a5d464ef190c        2 minutes ago       427 MB      //基于mynginx容器制作的镜像docker.io/nginx     latest              71c43202b8ac        4 days ago          109 MBdocker.io/centos    latest              5182e96772bf        3 weeks ago         200 MBdocker.io/alpine    latest              11cd0b38bc3c        8 weeks ago         4.41 MB[root@izm5edykqg8tzid352ga0iz mysql]# docker run -dit --name nginxv1 danny/nginx:v1[root@92c8d3a4bc2a /]# [root@92c8d3a4bc2a /]# ps -ef  //已经进入容器UID        PID  PPID  C STIME TTY          TIME CMDroot         1     0  0 08:21 ?        00:00:00 /bin/bashroot        16     1  0 08:21 ?        00:00:00 ps -ef[root@92c8d3a4bc2a /]# vim /etc/nginx/nginx.conf    //修改配置文件添加 daemon off;      //不在后台运行[root@92c8d3a4bc2a /]# nginx -t        //验证配置文件语法是否有误nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@92c8d3a4bc2a /]# exitexit[root@izm5edykqg8tzid352ga0iz mysql]# docker commit -m "my nginx" 92c8d3a4bc2a danny/nginx:v2        //再次提交修改版本v2sha256:062c8ef6e694b94fec7213bc8c65a055d75dc968fe2b671d97826381e0259f48[root@izm5edykqg8tzid352ga0iz mysql]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEdanny/nginx         v2                  062c8ef6e694        9 seconds ago       427 MB        //修改后提交的版本danny/nginx         v1                  a5d464ef190c        12 minutes ago      427 MBdocker.io/nginx     latest              71c43202b8ac        4 days ago          109 MBdocker.io/centos    latest              5182e96772bf        3 weeks ago         200 MBdocker.io/alpine    latest              11cd0b38bc3c        8 weeks ago         4.41 MB[root@izm5edykqg8tzid352ga0iz mysql]# docker run -it -p 82:80 danny/nginx:v2 /usr/sbin/nginx        //启动v2版本的容器08df10e92f9df846a840d61d10d07c045397e40ff06d9b4afdc09e4840266d23[root@izm5edykqg8tzid352ga0iz mysql]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                NAMES08df10e92f9d        danny/nginx:v2      "/usr/sbin/nginx"   13 seconds ago      Up 12 seconds       0.0.0.0:82->80/tcp   optimistic_bardeen

然后就可以通过82端口访问了 http://IP:82

 

Dockerfile构建(快速构建镜像)

常用指令

FROM   指定基础镜像
MAINTAINER   维护者信息
RUN   加在命令前执行命令
ADD   copy文件,会自动解压
WORKDIR   相当于cd进目录
VOLUME   目录挂载
EXPOSE    端口

vim /opt/dockerfile/nginx/dockerfile#This docker file#VERSION 1#Author:danny#Base imageFROM centos#MAINTAINER danny  danny@qq.com#CommandsRUN rpm -ivh https://mirrors.aliyun.com/centos/7.5.1804/extras/x86_64/Packages/epel-release-7-9.noarch.rpmRUN yum -y install nginxADD index.html  /usr/share/nginx/html/index.html   #ADD会自动解压RUN echo "daemon off;" >> /etc/nginx/nginx.confEXPOSE 80CMD ["nginx"][root@izm5edykqg8tzid352ga0iz nginx]# docker build -t mynginx:v3 /opt/dockerfile/nginx/

 

查看镜像制作结果

[root@izm5edykqg8tzid352ga0iz nginx]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEmynginx             v3                  3cf3c3308849        8 minutes ago       429 MBdanny/nginx         v2                  062c8ef6e694        2 hours ago         427 MBdanny/nginx         v1                  a5d464ef190c        2 hours ago         427 MBdocker.io/nginx     latest              71c43202b8ac        4 days ago          109 MBdocker.io/centos    latest              5182e96772bf        3 weeks ago         200 MBdocker.io/alpine    latest              11cd0b38bc3c        8 weeks ago         4.41 MB制作并启动容器[root@izm5edykqg8tzid352ga0iz nginx]# docker run -dit -p 82:80 --name mynginx_1 mynginx:v3 /usr/sbin/nginxc373c95329937126d3e879e78c24843f026547975185ce1b6ea655f8f8d5420d[root@izm5edykqg8tzid352ga0iz nginx]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                NAMESc373c9532993        mynginx:v3          "nginx"             4 seconds ago       Up 4 seconds        0.0.0.0:82->80/tcp   mynginx_1[root@izm5edykqg8tzid352ga0iz nginx]# curl -I http://localhost:82HTTP/1.1 200 OK...

 

转载于:https://www.cnblogs.com/dannylinux/p/9579487.html

你可能感兴趣的文章
用户界面
查看>>
HDU2544 最短路
查看>>
关于正态总体的样本均值与样本方差的重要结论
查看>>
练习数据库实例的启动与关闭
查看>>
Java——flush()方法
查看>>
HTML5 中fullscreen 中的几个API和fullscreen欺骗(转载)
查看>>
C++连接mysql数据库的两种方法
查看>>
OC-KVO
查看>>
java入门第四步之应用服务器的安装(Tomcat)
查看>>
python 零散记录(五) import的几种方式 序列解包 条件和循环 强调getattr内建函数...
查看>>
循环赛日程表(用来说明算法导论上的题目!!)
查看>>
web前端面试题集锦
查看>>
第一阶段冲刺第二天进度报告
查看>>
原生JS实现addClass,removeClass,toggleClass
查看>>
BZOJ 1217: [HNOI2003]消防局的设立( 贪心 )
查看>>
第二阶段冲刺03
查看>>
使用ssh和putty操控远程的linux server
查看>>
BZOJ1499: [NOI2005]瑰丽华尔兹
查看>>
1,悲剧的小学期
查看>>
从文本文件逐行读入数据
查看>>