Docker镜像制作总结----配合阿里云容器镜像服务


前言

在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、实验:

1.以centos7作为基础镜像

2.在里面安装好ip,vim,ping命令

3.编译好nginx,使用我们指定的配置文件nginx.conf

4.启动容器的时候,就启动nginx

5.网页代码上传到容器里:

(1)直接做到镜像里

(2)使用数据卷挂载使用 /usr/local/nginx1/html/

二、实验步骤(十步法)

1.准备环境,新建目录

[root@sc-docker-server ~]# cd /mydocker/
[root@sc-docker-server mydocker]# ls
app.py  Dockerfile  feng  getting-started  requirements.txt
[root@sc-docker-server mydocker]# mkdir nginx
[root@sc-docker-server mydocker]# cd nginx/
[root@sc-docker-server nginx]# pwd
/mydocker/nginx
[root@sc-docker-server nginx]

准备安装nginx的脚本和nginx源码文件

[root@sc-docker-server nginx]# ls
install_nginx.sh  nginx-1.21.1.tar.gz
[root@sc-docker-server nginx]#
[root@sc-docker-server nginx]# cat install_nginx.sh
#!/bin/bash

代码如下(示例):

2.解决软件的依赖关系,需要安装的软件包

yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make
#download nginx
mkdir -p /nginx
cd /nginx

3. 解压 下载的nginx的源码包

tar xf nginx-1.21.1.tar.gz
cd  nginx-1.21.1
<font color=#999AAA >

4.生成编译前配置工作–>Makefile

./configure --prefix=/usr/local/nginx1  --with-threads --with-http_ssl_module  --with-

http_realip_module  --with-http_v2_module --with-file-aio  --with-

http_stub_status_module --with-stream

5.编译

make
#编译安装--》将编译好的二进制程序安装指定目录/usr/local/nginx1
make   install
[root@sc-docker-server nginx]#

6.下载nginx的源码文件

[root@sc-docker-server nginx]# curl -O  http://nginx.org/download/nginx-1.21.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1039k  100 1039k    0     0   481k      0  0:00:02  0:00:02 --:--:--  481k
[root@sc-docker-server nginx]#

7.编写Dockerfile

[root@sc-docker-server nginx]# vim Dockerfile
FROM centos:7
ENV NGINX_VERSION 1.21.1
ENV AUTHOR sanchuang
LABEL maintainer="cali<695811769@qq.com>"
RUN mkdir /nginx
WORKDIR /nginx
COPY . /nginx
RUN set -ex; \
    bash  install_nginx.sh ; \
    yum install vim iputils  net-tools iproute -y
EXPOSE 80
ENV PATH=/usr/local/nginx1/sbin:$PATH

STOPSIGNAL SIGQUIT
CMD ["nginx","-g","daemon off;"]

8.生成我们的nginx的镜像

[root@sc-docker-server nginx]# ls
Dockerfile  install_nginx.sh  nginx-1.21.1.tar.gz
[root@sc-docker-server nginx]# docker build -t sanchuang-nginx:1.0 .

[root@sc-docker-server nginx]# docker images
REPOSITORY                 TAG         IMAGE ID       CREATED          SIZE
sanchuang-nginx       

9.启动容器,使用我们的自己编译的镜像

[root@sc-docker-server nginx]# docker run -dp 3390:80 --name sc-yihe-nginx-1 sanchuang-nginx:1.0
de5472545b7a01ede99d7f243f598fdd96b90b9f8c8450f1bda603a5568a9da0
[root@sc-docker-server nginx]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS                       NAMES
de5472545b7a   sanchuang-nginx:1.0   "nginx -g 'daemon of…"   8 seconds ago   Up 7 seconds   0.0.0.0:3390->80/tcp, :::3390->80/tcp                  sc-yihe-nginx-1
f1d0ff67eda9   sc-zhengbo-1          "bash"                   5 hours ago     Up 5 hours                       zhengbo-1
43d7ba23726e   sc-ubuntu-1           "bash"                   6 hours ago     Up 6 hours                       feng-2
c918a318e274   sc-node-js-1          "docker-entrypoint.s…"   6 hours ago     Up 6 hours     0.0.0.0:3000->3000/tcp, :::3000->3000/tcp              sc-node-js-1
a4078e1a7ea1   mysql:5.7.35          "docker-entrypoint.s…"   7 days ago      Up 3 hours     0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   sc-mysql-1
[root@sc-docker-server nginx]#

10…测试访问web服务

curl  192.168.0.17:3390

总结

1.首先这个实验是对上一篇博客的补充,可以做个实验提升一下自己docker镜像制作的熟悉度,练练手嘛,熟能生巧。有不会的可以看上一篇哈。

2.下一次会写一个docker的swarm的集群项目,这个很重要唷,提前预告一下哈。

3.如果你看到这里了,麻烦👍 + 关注哈,感谢支持,码字不易,谢谢理解.

在这里插入图片描述

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未末0902

你的鼓励与支持是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值