docker 容器服務腳本自啟動


問題:有一個mysql的容器,每次啟動容器后,都需要進入容器,然后啟動mysql服務,效率太低

解決方法:通過Dockerfile來實現容器內服務自啟動

 

一: 基礎環境准備

准備基礎環境:

  • docker mysql鏡像(問題當中的mysql鏡像)
  • 啟動腳本

 

二: 編寫Dockerfile文件

新建目錄:

mkdir -p /opt/docker-file/ubuntu-mysql

編寫Dockerfile文件

#新建Dockerfile文件
touch Dockerfile

Dockerfile文件內容如下:

復制代碼

# 選擇一個已有的os鏡像作為基礎
FROM ubuntu-ssh-jdk-mysql:v1

# 鏡像的作者
MAINTAINER hanzhe

COPY start-mysql.sh /root/

# 配置java環境變量
ENV JAVA_HOME /usr/java/jdk
ENV PATH $JAVA_HOME/bin:$PATH
RUN chmod 777 /root/start-mysql.sh \
CMD ["sh","/root/start-mysql.sh"]

復制代碼

 

 

 

三: 編寫啟動腳本

start-mysql.sh 腳本內容如下:

#!/bin/bash
 echo '1. starting mysql...' service mysql start echo '2. starting ssh...' /usr/sbin/sshd tail -f /dev/null

 

 

四: 構建docker image

構建命令:

docker build -t="ubuntu-mysql:v2" .

 

五:查看docker 鏡像

docker images

 

六:驗證

運行容器:

docker run -it -d --name mysql ubuntu-mysql:v2

進入容器:

docker exec -it 容器id /bin/bash

測試mysql:

mysql -uroot -proot

 

基於mysql的docker容器使mysql服務隨容器啟動而啟動完成!!

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM