refactor: 优化 Dockerfile 的构建流程和依赖安装
This commit is contained in:
		
							parent
							
								
									c63a313334
								
							
						
					
					
						commit
						cd9eb2691d
					
				
							
								
								
									
										82
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								Dockerfile
									
									
									
									
									
								
							| @ -1,25 +1,17 @@ | |||||||
| FROM rockylinux:9 | FROM rockylinux:9 | ||||||
| 
 | 
 | ||||||
| # 切换 rockylinux 镜像源为腾讯云源,更新包列表并安装依赖 | # 切换 rockylinux 镜像源为腾讯云源,更新包列表并安装依赖 | ||||||
| RUN sed -e 's|^mirrorlist=|#mirrorlist=|g' \ | RUN sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.tencent.com/rocky|g' -i.bak /etc/yum.repos.d/rocky-*.repo && \ | ||||||
|     -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.tencent.com/rocky|g' \ |     dnf makecache && \ | ||||||
|     -i.bak /etc/yum.repos.d/rocky-*.repo \ |     (dnf install -y epel-release || dnf install -y epol-release 'dnf-command(config-manager)') && \ | ||||||
|     && dnf makecache \ |     (dnf config-manager --set-enabled powertools || dnf config-manager --set-enabled crb) || true && \ | ||||||
|     && dnf update -y \ |     dnf repolist && \ | ||||||
|     && dnf install -y dnf-plugins-core epel-release \ |     dnf update -y && \ | ||||||
|     && dnf config-manager --set-enabled devel \ |     dnf -y groupinstall 'Development Tools' && \ | ||||||
|     && dnf config-manager --set-enabled epel \ |     dnf remove -y curl-minimal && \ | ||||||
|     && dnf remove -y curl-minimal \ |     dnf install -y glibc-locale-source wget iproute openssh-server gd-devel cmake make gcc gcc-c++ autoconf libsodium-devel oniguruma libssh2-devel c-ares-devel libaio-devel sudo curl dos2unix bzip2 zip unzip tar ncurses-devel libtool libevent-devel openssl-devel cyrus-sasl-devel libtool-libs zlib-devel glib2 glib2-devel krb5-devel postgresql-devel gettext libcap-devel oniguruma-devel psmisc patch git e2fsprogs libxslt-devel xz libwebp-devel libvpx-devel freetype-devel libjpeg-turbo libjpeg-turbo-devel iptables systemd-devel openldap-devel && \ | ||||||
|     && dnf install -y \ |     dnf clean all && \ | ||||||
|         glibc-locale-source \ |     rm -rf /var/cache/dnf | ||||||
|         wget iproute openssh-server gd-devel cmake make gcc gcc-c++ autoconf \ |  | ||||||
|         libsodium-devel oniguruma libssh2-devel c-ares-devel libaio-devel sudo curl dos2unix \ |  | ||||||
|         bzip2 zip unzip tar ncurses-devel libtool libevent-devel openssl-devel cyrus-sasl-devel \ |  | ||||||
|         libtool-libs zlib-devel glib2 glib2-devel krb5-devel postgresql-devel gettext libcap-devel \ |  | ||||||
|         oniguruma-devel psmisc patch git e2fsprogs libxslt-devel xz libwebp-devel libvpx-devel \ |  | ||||||
|         freetype-devel libjpeg-turbo libjpeg-turbo-devel iptables systemd-devel openldap-devel \ |  | ||||||
|     && dnf clean all \ |  | ||||||
|     && rm -rf /var/cache/dnf |  | ||||||
| 
 | 
 | ||||||
| # 复制脚本 | # 复制脚本 | ||||||
| COPY ["bt.sh", "init_mysql.sh", "/"] | COPY ["bt.sh", "init_mysql.sh", "/"] | ||||||
| @ -29,35 +21,35 @@ COPY ["phpmyadmin.sh", "/lamp/"] | |||||||
| RUN dos2unix /bt.sh && dos2unix /init_mysql.sh | RUN dos2unix /bt.sh && dos2unix /init_mysql.sh | ||||||
| 
 | 
 | ||||||
| # 下载并安装宝塔面板及 lnmp 环境 | # 下载并安装宝塔面板及 lnmp 环境 | ||||||
| RUN curl -sSO https://download.bt.cn/install/install_panel.sh \ | RUN curl -sSO https://download.bt.cn/install/install_panel.sh && \ | ||||||
|     && echo y | bash install_panel.sh -P 8888 --ssl-disable |     echo y | bash install_panel.sh -P 8888 --ssl-disable | ||||||
| 
 | 
 | ||||||
| RUN curl -o /lamp/apache.sh https://download.bt.cn/install/0/apache.sh \ | RUN curl -o /lamp/apache.sh https://download.bt.cn/install/0/apache.sh && \ | ||||||
|     && sh /lamp/apache.sh install 2.4 \  |     sh /lamp/apache.sh install 2.4 && \ | ||||||
|     && curl -o /lamp/php.sh https://download.bt.cn/install/4/php.sh \ |     curl -o /lamp/php.sh https://download.bt.cn/install/4/php.sh && \ | ||||||
|     && sh /lamp/php.sh install 8.3 \ |     sh /lamp/php.sh install 8.3 && \ | ||||||
|     && curl -o /lamp/mysql.sh https://download.bt.cn/install/4/mysql.sh \ |     curl -o /lamp/mysql.sh https://download.bt.cn/install/4/mysql.sh && \ | ||||||
|     && sh /lamp/mysql.sh install 8.0 \ |     sh /lamp/mysql.sh install 8.0 && \ | ||||||
|     && sh /lamp/phpmyadmin.sh install 5.2 \ |     sh /lamp/phpmyadmin.sh install 5.2 && \ | ||||||
|     && rm -rf /lamp \ |     rm -rf /lamp && \ | ||||||
|     && rm -rf /www/server/php/83/src \ |     rm -rf /www/server/php/83/src && \ | ||||||
|     && rm -rf /www/server/mysql/mysql-test \ |     rm -rf /www/server/mysql/mysql-test && \ | ||||||
|     && rm -rf /www/server/mysql/src.tar.gz \ |     rm -rf /www/server/mysql/src.tar.gz && \ | ||||||
|     && rm -rf /www/server/mysql/src \ |     rm -rf /www/server/mysql/src && \ | ||||||
|     && rm -rf /www/server/data/* \ |     rm -rf /www/server/data/* && \ | ||||||
|     && rm -rf /www/server/apache/src \ |     rm -rf /www/server/apache/src && \ | ||||||
|     && echo "docker_btlamp_r9" > /www/server/panel/data/o.pl \ |     echo "docker_btlamp_c79" > /www/server/panel/data/o.pl && \ | ||||||
|     && echo '["memuA", "memuAsite", "memuAdatabase", "memuAcontrol", "memuAfiles", "memuAlogs", "memuAxterm", "memuAcrontab", "memuAsoft", "memuAconfig", "dologin", "memu_btwaf", "memuAssl"]' > /www/server/panel/config/show_menu.json \ |     echo '["memuA", "memuAsite", "memuAdatabase", "memuAcontrol", "memuAfiles", "memuAlogs", "memuAxterm", "memuAcrontab", "memuAsoft", "memuAconfig", "dologin", "memu_btwaf", "memuAssl"]' > /www/server/panel/config/show_menu.json && \ | ||||||
|     && dnf clean all \ |     dnf clean all && \ | ||||||
|     && rm -rf /var/cache/dnf \ |     rm -rf /var/cache/dnf && \ | ||||||
|     && chmod +x /bt.sh \ |     chmod +x /bt.sh && \ | ||||||
|     && chmod +x /init_mysql.sh |     chmod +x /init_mysql.sh | ||||||
| 
 | 
 | ||||||
| # 配置宝塔面板安全入口和用户名及密码,以及 SSH 密码 | # 配置宝塔面板安全入口和用户名及密码,以及 SSH 密码 | ||||||
| RUN echo btpanel | bt 6 \ | RUN echo btpanel | bt 6 && \ | ||||||
|     && echo btpaneldocker | bt 5 \ |     echo btpaneldocker | bt 5 && \ | ||||||
|     && echo "/btpanel" > /www/server/panel/data/admin_path.pl \ |     echo "/btpanel" > /www/server/panel/data/admin_path.pl && \ | ||||||
|     && echo "root:btpaneldocker" | chpasswd |     echo "root:btpaneldocker" | chpasswd | ||||||
| 
 | 
 | ||||||
| ENTRYPOINT ["/bin/sh","-c","/bt.sh"] | ENTRYPOINT ["/bin/sh","-c","/bt.sh"] | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 xiao
						xiao