应用 | 版本 |
---|---|
docker | 19.03.8 |
docker-compose | 1.25.5 |
centos | centos:7 |
nginx | 1.18.0 |
mysql | 8.0.19 |
php | 7.2 |
redis | 5.0.8 |
自动安装脚本install_xxx.sh
的参数1
,表示同时构建容器
cd mysql
sh install_mysql.sh 1
MySQL安装完成后,还需修改root密码以及登录ip的限制
docker exec -ti 28612f88596e mysql -u root -p
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
update user set host='%' where user = 'root';
flush privileges;
cd nginx
sh install_nginx.sh 1
cd php
sh install_php.sh 1
cd redis
sh install_redis.sh
以上的自动安装脚本,都包含了build Dockerfile镜像的操作、复制配置文件、run 容器
备注:容器的启动命令,建议使用shell脚本,这样有利于容器的调试
以上Dockerfile都使用entrypoint.sh作为启动脚本,并在entrypoint.sh写入启动的命令,如有需要,还可写入其他一些启动时的检测。这使得容器的启动更为灵活。
sh install_docker.sh
lnmpr环境: 即基于centos7配置nginx、mysql、php、redis的环境
sh install_lnmpr.sh 1
将以上Dockerfile生成的镜像,上传到Docker Hub
1.登录Docker Hub
docker login
之后按提示,输入用户名和密码
如果看到 Login Succeeded ,则表示登录成功
2.将本地的镜像打个tag
docker tag [本地镜像名称]:[本地镜像版本] [Docker Hub的用户名]/[将要上传到Docker Hub的镜像名称]:[版本好]
如:
docker tag redis5-centos7:latest juan083/redis5-centos7:1.0
3.再上传本地镜像到Docker Hub
docker push 刚打的tag名称:版本
如:
docker push juan083/redis5-centos7:1.0
cd docker_hub
docker-compose -f docker_hub_lnmpr.yml up -d
以下是提交到Docker Hub到镜像