一、Docker-Compose作用
之前運行一個鏡像,需要添加大量的參數,可以通過Docker-Compose編寫這些參數,Docker-Compose可以幫助我們批量的管理容器,只需要通過一個docker-compose.yml文件去維護。
1、下載docker-compose
地址:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64
2、上傳至/usr/local,並修改名字,賦予可執行權限
mv docker-compose-Linux-x86_64 docker-compose
chmod 777 docker-compose
3、配置環境變量
安裝jdk
yum search java | grep -i --color jdk 查看JDK軟件包列表 yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel 選擇版本安裝 yum install -y java-1.8.0-openjdk* 或者如下命令,安裝jdk1.8.0的所有文件
java -version 查看JDK
是否安裝成功
ls /usr/lib/jvmJDK
默認安裝路徑/usr/lib/jvm
在/etc/profile
文件添加如下命令
# set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
保存關閉profile
文件,執行如下命令生效
source /etc/profile
使用如下命令,查看JDK
變量
echo $JAVA_HOME
echo $PATH
echo $CLASSPATH
docker-compose配置環境變量
把docker-compose移動至/usr/local/bin/
vim /etc/profile 在PATH后面添加/usr/local/bin
source /etc/profile 使配置文件生效
4、驗證,在任意目錄下執行此命令,得到此輸出,說明配置成功。
二、Docker-compose管理Mysql和apache容器
yml文件以key:value方式來指定配置信息,多個配置信息以換行+縮進的方式來區分,在docker-compose.yml文件中,不要使用制表符就是tab鍵,規則用兩個空格縮進
version: '3.1' services: mysql: #服務名稱 restart: always #代表只要docker啟動,那么這個容器就跟着一起啟動 image: daocloud.io/library/mysql:5.7.4 #指定鏡像路徑 container_name: mysql #指定容器名稱 ports: - 3306:3306 #指定端口的映射 environment: MYSQL_ROOT_PASSWORD: 123456 #指定MySQL賬號root的密碼 TZ: Asia/shanghai #指定時區 volumes: - /opt/docker_mysql_tomcat/mysql:/var/lib/mysql #指定映射數據卷 httpd: restart: always image: php:7.2-apache container_name: apache ports: - 80:80 environment: TZ: Asia/shanghai volumes: - /opt/docker_mysql_tomcat/www:/var/www/html - /opt/docker_mysql_tomcat/logs:/var/log/apache2
操作命令:在docker_mysql_tomcat目錄下執行
docker-compose up -d 基於docker-compose.yml啟動管理容器 docker-compose down 關閉並刪除容器 docker-compose start|stop|restart 開啟|關閉|重啟已經存在的由docker-compose維護的容器 docker-compose ps 查看由docker-compose管理的容器 docker-compose logs -f 查看日志
三、docker-compose配置Dockerfile使用
使用docker-compose.yml文件以及Dockerfile文件在生成自定義鏡像的同時啟動當前鏡像,並且由docker-compose去管理器
version: '3.1' services: ssm: restart: always build: context: ../ dockerfile: Dockerfile image: ssm:1.0.1 container_name: ssm ports: - 80:80 environment: TZ: Asia/Shanghai
創建Dcokerfile
from php:7.2-apache copy wordpress /var/www/html
目錄結構
依賴docker-compose.yml啟動容器
docker-compose up -d
如果自定義鏡像不存在,會幫助我們構建出自定義鏡像,如果自定義鏡像已經存在,會直接運行這個自定義鏡像
重新構建自定義鏡像
docker-compose build
運行前,重新構建
docker-compose up -d --build
推薦:需要租用雲服務器,域名等其他服務的可以掃描下方二維碼,價格優惠,華為雲服務,不懂得隨時問,專人解答: