Docker镜像制作总结----配合阿里云容器镜像服务
- 前言
- 一、实验:
- 1.以centos7作为基础镜像
- 2.在里面安装好ip,vim,ping命令
- 3.编译好nginx,使用我们指定的配置文件nginx.conf
- 4.启动容器的时候,就启动nginx
- 5.网页代码上传到容器里:
- (1)直接做到镜像里
- (2)使用数据卷挂载使用 /usr/local/nginx1/html/
- 二、实验步骤(十步法)
- 1.准备环境,新建目录
- 2.解决软件的依赖关系,需要安装的软件包
- 3. 解压 下载的nginx的源码包
- 4.生成编译前配置工作-->Makefile
- 5.编译
- 6.下载nginx的源码文件
- 7.编写Dockerfile
- 8.生成我们的nginx的镜像
- 9.启动容器,使用我们的自己编译的镜像
- 10..测试访问web服务
- 总结
- 3.如果你看到这里了,麻烦👍 + 关注哈,感谢支持,码字不易,谢谢理解.
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、实验:
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
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的集群项目,这个很重要唷,提前预告一下哈。