dockerfile構建網站,nginx,redis,mysql

dockerfile構建網站鏡像

1. dockerfile編寫

這裏需要jdk和tomcat的壓縮包

FROM ff4bc70ea25f
ADD jdk-8u191-linux-x64.tar.gz /usr/local
RUN mv /usr/local/jdk1.8.0_191 /usr/local/jdk
ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
ADD apache-tomcat-8.5.35.tar.gz /usr/local
RUN mv /usr/local/apache-tomcat-8.5.35 /usr/local/tomcat
EXPOSE 8080
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]

2. build

docker build -t heart_tomcat:v1 .

3. 創建容器

需要用-p 來指定映射的端口

docker run -itd -p 80:8080 05247c09a5b2 /bin/bash

如果你需要掛載tomcat容器內的文件,則

docker run -itd -p 8081:8080 -v /usr/local/test/root:/usr/local/tomcat/webapps/ROOT 05247c09a5b2 /bin/bash

dockerfile構建nginx

1. 準備

創建一個文件夾,用來存放nginx壓縮包,dockerfile,shell腳本。
下面是所創建的文件夾docker_nginx

/usr/local/docker_nginx

2. 編寫shell 腳本nginx_install.sh

#!/bin/bash
yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel
cd /usr/local/nginx-1.16.0
./configure --prefix=/usr/local/nginx && make && make install

3. 編寫docker文件

FROM ff4bc70ea25f
ADD nginx-1.16.0.tar.gz /usr/local
COPY nginx_install.sh /usr/local
RUN sh /usr/local/nginx_install.sh
EXPOSE 80

4. build

docker build -t newheart_centos_nginx .

5. nginx啓動

docker run -itd -p 80:80 7b6cfccf63a1 /usr/local/nginx/sbin/nginx -g "daemon off;"

dockerfile構建redis

1. 準備

創建文件夾docker_redis,用於存放redis解壓包:redis-4.0.9.tar.gz,dockerfile,shell腳本

2. 創建shell腳本redis_install.sh

除了安裝必要的軟件外,還對配置文件進行了修改
127.0.0.1—>0.0.0.0

protected-mode yes—>protected-mode no

可以根據自己需要進行修改,或者容器化後進行修改

#!/bin/bash
yum install -y gcc gcc-c++ make openssl openssl-devel
cd /home/redis-4.0.9
make && make PREFIX=/usr/local/redis install
mkdir -p /usr/local/redis/conf/
cp /home/redis-4.0.9/redis.conf /usr/local/redis/conf/
sed -i '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/conf/redis.conf
sed -i '88s/protected-mode yes/protected-mode no/' /usr/local/redis/conf/redis.conf

3. dockerfile

FROM 後是centos的 IMAGE ID

FROM 5e35e350aded
ADD redis-4.0.9.tar.gz /home
COPY redis_install.sh /home
RUN sh /home/redis_install.sh
ENTRYPOINT /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf

4.build

docker build -t newheart_centos_redis .

5. 容器啓動

docker run -itd -p 6380:6379 newheart_centos_redis

6.測試:宿主連接

/usr/local/redis-4.0.9/src/redis-cli -p 6380

dockerfile構建mysql

創建鏡像

docker pull mysql:5.7

啓動命令:

docker run --name some-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -d mysql:5.7

進入容器命令:

docker exec -it 4336ae28fbfa env LANG=C.UTF-8 /bin/bash
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章