docker镜像制作--nginx

参考:https://www.jianshu.com/p/dc4cd0547d1e

一、基于容器制作镜像

拉取centos镜像

docker pull centos

创建容器实例

docker run --name mycentos -it centos

容器内环境

安装nginx

yum install epel-release -y
yum install nginx -y

vi /etc/nginx/nginx.conf 添加daemon off;

退出并提交容器实例到新的镜像中

docker commit -c 'CMD ["/usr/sbin/nginx"]' f409f5063ce1 localhost:5000/nginx:v2

运行并测试

docker run localhost:5000/nginx:v2
或docker run --name nginx-test -p 80:80 -d localhost:5000/nginx:v2

访问宿主机地址:
curl localhost

直接访问容器地址:
docker inspect nginx-test |grep IPAddress 查出容器的IP地址
curl IP地址 访问nginx默认首页

进入容器查看进程:
docker exec -it nginx-test sh
ps -ef|grep nginx

二、基于Dockerfile制作

vi dockerfile

# 来源基础镜像
FROM centos:latest
# 作者信息
MAINTAINER "hehe <hehe@hehe.com>"
# 构建时运行的命令
RUN yum install epel-release -y
RUN yum install nginx -y
RUN sed -i '/pid \/run\/nginx.pid;/a\daemon off;' /etc/nginx/nginx.conf
# 容器启动时执行的命令,一般用来打开前台程序
CMD /usr/sbin/nginx

构建:
docker build ./ -t localhost:5000/nginx:v3

查看是否已经创建:
docker images|grep v3|grep nginx

运行容器:
docker run --name nginx-test -p 80:80 -d localhost:5000/nginx:v3

测试:
curl localhost

注意事项:

1.前面两种方式,最后要push到仓库,否则客户端将无法pull
2.k8s利用该镜像创建nginx应用,请参考https://www.jianshu.com/p/6bcb3c3545c5,image地址修改成私有仓库地址即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本概念 镜像Docker 镜像就是一个只读的模板,镜像可以用来创建 Docker 容器 容器容器是从镜像创建的运...
    巨子联盟阅读 12,215评论 0 3
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 5,791评论 0 7
  • 一、准备工作: 使用工具: 1.主流版本的docker,本人使用的是 docker 1.91 版本 2.cento...
    dreamer_lk阅读 7,638评论 1 8
  • Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启...
    执笔梦一场阅读 8,584评论 2 10
  • linux 查看系统版本确认使用的docker版本 uname -a --查看Linux内核版本命令cat /pr...
    只有香如故阅读 5,080评论 1 4