文章目錄
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