建立基础镜像
# 运行Ubuntudocker run -it -p 8080:80 -p 3309:3306 -v /usr/www:/var/www/html --name lnmp ubuntu /bin/bash# 更新软件源apt update# 更新软件apt upgrade# 安装Nginx、PHP、mysql、vimapt install -y nginx php-fpm mysql-client mysql-server vim
部署Nginx、PHP
# 配置Nginx与PHP连接
vim /etc/php/7.4/fpm/pool.d/www.conf # 复制:listen = /run/php/php7.4-fpm.sock
vim /etc/nginx/sites-enabled/default # 粘贴到:unix:/run/php/php7.4-fpm.sock
# 启动PHP和Nginx
cd /etc/init.d
service php7.4-fpm start
service nginx start
# 到此可以访问网页
部署MySQL
# 启动mysql
service mysql start
# 初始化
mysql_secure_installation
# 配置mysql
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 注释掉bind-address = 127.0.0.1使可以ip访问
# 是mysql可以通过外边连接
grant all privileges on *.* to 'root'@'%' identified by 'admin888'
# 重新加载SQL表
FLUSH PRIVILEGES
#权限修改
usermod -d /var/lib/mysql/ mysql
chown -R mysql:mysql /var/lib/mysql
# mysql卸载命令
apt-get remove mysql-*
# 安装mysql-server时,会自动启动mysql-server。但是此时mysql用户组并没有权限导致报错
# Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
# 意思为 不能够通过socket连接mysql服务--->没有/var/run/mysqld/mysqld.sock
# 所以做法:
# mkdir -p /var/run/mysqld
# chown mysql /var/run/mysqld/
# service mysql restart
发布镜像
# 通过容器生成镜像
docker commit -m='提交声明的文章' -a='用户名' 容器名 生成的镜像名
# 给镜像标签:给tpt_lnmp 创建一个新的镜像:tptfb11/lnmp:v1
docker tag tpt_lnmp tptfb11/lnmp:v1
# 登录docker
docker login
# 上传镜像到dockerhub
docker push tptfb11/lnmp:v1
拓展
# mysql连接
mysql -u用户名 -p密码 -P端口 -h ip
# docker便签删除镜像