您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
docker-compose.yml使用本地鏡像(mysql成功連接)
发布时间:2022-02-20 23:22:15编辑:雪饮阅读()
docker-compose.yml示例如:
version: "3.7"
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./html:/etc/nginx/html:rw
php:
image: php74fpm
ports:
- "9001:9000"
volumes:
- ./html:/etc/nginx/html:rw
db:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: xy220807
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./html:/etc/nginx/html:rw
php:
image: php74fpm
ports:
- "9001:9000"
volumes:
- ./html:/etc/nginx/html:rw
db:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: xy220807
這裏php74fpm這個鏡像其實並不存在于docker官方庫中,而是由我自己本地創建的。
自上次創建了一個php74fpm鏡像后
docker build -t php74fpm .
此時在docker image ls中能夠查看到php74fpm
[root@localhost app]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
php74fpm latest 3a827dd41654 59 minutes ago 486MB
<none> <none> 697db9f946c6 About an hour ago 486MB
hello latest d7ea4ef52841 7 days ago 231MB
<none> <none> ac76a74fba8a 7 days ago 25B
之後咱們就可以直接使用在docker-compose.yml中了,這裏可以看到TAG默認是latest,這個TAG可以寫在docker-compose.yml中也可以,不寫就是默認latest的TAG。
docker-compose.yml中定義的image鏡像是先查詢本地鏡像中是否有,若本地docker image ls中是有該鏡像的,則就直接從本地構建,否則就從docker hub上面拉取進行構建。
那麽這裏可以再次驗證上篇中php擴展安裝情況以及更前篇中mysql安裝成功並能夠成功連接了,當前目錄html下的index.php如:
<?php
$servername = "db";
$username = "root";
$password = "xy220807";
try {
$conn = new PDO("mysql:host=$servername;", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
phpinfo();
?>
$servername = "db";
$username = "root";
$password = "xy220807";
try {
$conn = new PDO("mysql:host=$servername;", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
phpinfo();
?>
关键字词:docker-compose,本地鏡像