编程技术分享平台

网站首页 > 技术教程 正文

Docker实战:基于centos7镜像创建nginx容器镜像

xnh888 2024-10-03 04:42:31 技术教程 13 ℃ 0 评论

docker安装在CENTOS7虚拟机上

yum install docker

systemctl enable docker

systemctl start docker

基于Dockerfile创建

文件可以从我的git拉,代码大家点github的链接自己看

#yum install git -y

# git clone https://github.com/106140873/nginxcentos.git

正克隆到 'nginxcentos'...

remote: Enumerating objects: 8, done.

remote: Counting objects: 100% (8/8), done.

remote: Compressing objects: 100% (6/6), done.

remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0

Unpacking objects: 100% (8/8), done.

共三个文件,Dockefile,entrypoint.sh,readme.txt

Dockerfile 内容

-------------------------------------------------------

FROM centos:latest

LABEL maintainer "106140873@qq.com"

WORKDIR /opt

RUN set -ex \

&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \

&& yum -y install kde-l10n-Chinese \

&& yum -y reinstall glibc-common \

&& localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 \

&& export LC_ALL=zh_CN.UTF-8 \

&& echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf \

&& yum -y install wget \

&& echo -e "[nginx-stable]\nname=nginx stable repo\nbaseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://nginx.org/keys/nginx_signing.key" > /etc/yum.repos.d/nginx.repo \

&& rpm --import https://nginx.org/keys/nginx_signing.key \

&& yum -y install nginx bash-completinon \

&& yum clean all \

&& rm -rf /var/cache/yum/*

COPY readme.txt readme.txt

COPY entrypoint.sh /bin/entrypoint.sh

RUN chmod +x /bin/entrypoint.sh

VOLUME /etc/nginx/conf.d/

EXPOSE 80

ENTRYPOINT ["entrypoint.sh"]

------------------------------------------------------

entrypoint.sh内容

---------------------------------------------------------

#!/bin/bash

#

localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

export LANG=zh_CN.UTF-8

/usr/sbin/nginx &

tail -f /opt/readme.txt

---------------------------------------------------------

readme.txt内容

---------------------------------------------------------

进入容器命令 docker exec -it 容器名字 /bin/bash

---------------------------------------------------------

进入目录,创建镜像,

# cd nginxcentos/

# docker build -t nginxcentos ./

查看镜像信息

# docker images nginxcentos

REPOSITORY TAG IMAGE ID CREATED SIZE

nginxcentos latest c78faa9aa7d2 6 hours ago 246MB

看到有5个layers。

# docker inspect nginxcentos:latest |grep -A 10 "Layers"

"Layers": [

"sha256:d69483a6face4499acb974449d1303591fcbb5cdce5420f36f8a6607bda11854",

"sha256:8e810f98936db93f3d34578d06b20220ca0fe8350f4b7b4e6ae16e927957f3c3",

"sha256:8ff9467e113b5fd3a71e57533741f4cadea3871675958769d8e0d0b52defe97d",

"sha256:4e771dce62b0bf32c2947ff58f13a0b8099422893efd7fddd4d32d39fab4226b",

"sha256:2098844ce0b4a3c379817ba9f5f36dc0a87a01e9fcc0601278573ab0e6d19a2a"

]

},

"Metadata": {

"LastTagTime": "2019-07-12T15:16:22.143744067+08:00"

}

创建容器

docker run -d -v /nginxconf:/etc/nginx/conf.d \

-p 80:80 --name=nginxcentos nginxcentos

查看log

# docker logs -f nginxcentos

进入容器命令 docker exec -it 容器名字 /bin/bash

进入容器,退出输入exit或ctrl+c

# docker exec -it nginxcentos /bin/bash

---------------------

版权声明:本文为CSDN博主「运维自动化&云计算」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/h106140873/article/details/95621433

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表