Dockerfile构建镜像
本文最后更新于 114 天前,其中的信息可能已经过时,如有错误请留言。

学习记录

以构建wordpress镜像为例

dockerfile基本语法

1.FROM 指定基础镜像

2.RUN 执行命令

3. ADD和COPY都将宿主机的文件复制到镜像里,COPY 只支持纯复制文件,ADD支持压缩文件自动解压

4.WORKDIR 设置工作目录

5.ENV 设置环境变量

6.EXPOSE 声明镜像暴露的端口

7.CMD 指定容器启动时执行的命令,CMD指令只能有一条

8.ENTRYPOINT用来指定容器启动时要执行的命令,不会被启动容器时指定的参数所替代,可以有多条

安装配置docker

点我

编辑dockerfile

mkdir wp && cd wp
tee Dockerfile <<-'EOF'
FROM rockylinux:9.3
WORKDIR /root/wp

##nginx
COPY ./nginx.repo /etc/yum.repos.d/
RUN yum install -y epel-release nginx 
RUN rm -rf /etc/nginx/conf.d/*
COPY ./cll.conf /etc/nginx/conf.d/

##php
RUN mkdir -p /run/php-fpm && chown -R nginx.nginx /run/php-fpm && chmod -R 755 /run/php-fpm
RUN yum install -y php php-fpm php-cli \
php-common php-devel php-embedded php-gd php-mcrypt php-bcmath php-mbstring php-pdo php-xml \
php-mysqlnd php-opcache php-pecl-zip php-pecl-redis php-pecl-mongodb
RUN sed -i '/^user/c user = nginx' /etc/php-fpm.d/www.conf && sed -i '/^group/c group = nginx' /etc/php-fpm.d/www.conf && sed -i  '/^listen =/c listen = 127.0.0.1:9000' /etc/php-fpm.d/www.conf

ADD wordpress-6.5.3-zh_CN.tar.gz /usr/share/nginx
RUN chown -R nginx.nginx /usr/share/nginx/wordpress
ENV DBPASS=123456
EXPOSE 80 3306 443
EOFRYPOINT ["start.sh"]  in/start.sh
EOF

准备nginx配置文件

tee cll.conf <<-'EOF'
server {
listen 80;
server_name localhost;
root /usr/share/nginx/wordpress;
#配置客户端请求体最大值
client_max_body_size 20M;
#配置请求体缓存区大小
client_body_buffer_size 20M;
location / {
    index index.php index.html;
    }

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}
}
EOF

编写nginx,php启动脚本

tee start.sh <<-'EOF'
#!/bin/bash  
set -e  
# 启动 PHP-FPM  
php-fpm &  
# 启动 Nginx  
exec nginx -g "daemon off;"
EOF

构建镜像

 docker build -t wordpress:v1 .

拉去mysql 8.0镜像并启动

docker pull mysql:8.0
docker run -itd  -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress --name mysql mysql:latest

启动镜像

容器互联方式

docker run -itd --link mysql -p 80:80 --name web wordpress:v1 /bin/bash

查看运行容器

docker ps
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇