首页 > 其他分享 >第四章 docker 命令部署lnmp(link方式)

第四章 docker 命令部署lnmp(link方式)

时间:2022-12-19 18:44:58浏览次数:54  
标签:opt cli -- lnmp nginx link docker

docker-cli

部署DNMP(docker + nginx + mysql(MariaDB)+ PHP-FPM

环境部署

root@docker-debian:~# mkdir -p /opt/cli-lnmp/mysql
root@docker-debian:~# mkdir -p /opt/cli-lnmp/html
root@docker-debian:~# mkdir -p /opt/cli-lnmp/nginx
root@docker-debian:~# docker run -d --name test nginx
2a36d4bc789491f74c16960522db8cf4c4b8cc4850c98ba89b185ab4608b779c
root@docker-debian:~# cd /opt/cli-lnmp/html/
root@docker-debian:/opt/cli-lnmp/html# docker cp test:/etc/nginx/conf.d/default.conf ./
root@docker-debian:/opt/cli-lnmp/html# docker stop test
test
root@docker-debian:/opt/cli-lnmp/html# docker rm test
test
root@docker-debian:/opt/cli-lnmp/html# 

容器部署

root@docker-debian:~# docker run -itd --name cli-mysql --restart=always -v /opt/cli-lnmp/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="PObejCBeDzTRCncXwgBy" -e MYSQL_DATABASE="wordpress" -e MYSQL_USER="wordpress" -e MYSQL_PASSWORD="MMS12ge**hao" mysql:latest

root@docker-debian:~# docker run -itd --name cli-php -v /opt/cli-lnmp/html:/var/www/html --link cli-mysql:mysql --restart=always php:fpm

root@docker-debian:~# docker run -itd --name cli-nginx -v /opt/cli-lnmp/nginx:/etc/nginx/conf.d -v /opt/cli-lnmp/html:/usr/share/nginx/html -p 8083:80 --restart=always --link cli-php:phpfpm nginx:latest

掌握容器创建、运行、重新连接等命令,以及常用参数。

命令 备注
docker run 创建一个新的容器并运行一个命令
参数 备注
-i 以交互模式运行容器
-t 为容器重新分配一个伪输入终端
-d 在后台运行容器
--name 容器的命名
--restart 容器的重启策略
-v 映射卷
-e 环境变量设置,设置一些容器内容

-i 和 -t 一般都是同时使用,如果没有比如缺少 -i 则输入指令就没有回应,如果没有 -t 则没有显示

掌握容器内外文件相互复制,容器外运行容器内命令。

docker cp :用于容器与主机之间的数据拷贝

命令 备注
docker cp 容器:路径 主机路径 将容器内的数据复制到主机下
docker cp 主机路径 容器:路径 将主机的数据复制到容器内

docker exec:在运行的容器中执行命令

命令 备注
docker exec -it 容器名称 解释器(shell) 建立一个交互终端,进入容器
root@docker-debian:~# cat cli-lnmp.sh
#!/bin/bash
# This is a shell of lnmp container.
docker run -itd --name cli-mysql \
--restart=always \
-v /opt/cli-lnmp/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD="PObejCBeDzTRCncXwgBy" \
-e MYSQL_DATABASE="wordpress" \
-e MYSQL_USER="wordpress" \
-e MYSQL_PASSWORD="MMS12ge**hao" \
mysql:latest

docker run -itd --name cli-php \
-v /opt/cli-lnmp/html:/var/www/html \
--link cli-mysql:mysql \
--restart=always \
php:fpm

docker run -itd --name cli-nginx \
-v /opt/cli-lnmp/nginx:/etc/nginx/conf.d \
-v /opt/cli-lnmp/html:/usr/share/nginx/html \
-p 8083:80 \
--restart=always \
--link cli-php:phpfpm \
nginx:latest
root@docker-debian:~# bash cli-lnmp.sh
88885ee960885095db1c98f8d60b02a4af60cb98d06e1e843cd25a69999178f6
8ca0ee147888dbc94400fdf2c4d29f435fd6ddd854af64f1530598b74e3ee693
f1046097adc3dd4b046329132ad0bd0998fea0c8a90d96a05c764b821e210025
root@docker-debian:~#

配置文件部署

<?php
$con = new mysqli("容器名称","数据库用户","用户密码");
if (!$con)  { 
    die('Could not connect: ' . mysql_error()); 
}

echo "连接成功";
?>

image

在nginx容器中部署wordpress

image

image

标签:opt,cli,--,lnmp,nginx,link,docker
From: https://www.cnblogs.com/wm-plengong/p/16992837.html

相关文章

  • 今日内容 docker的安装与操作
    docker组件介绍#Docker:容器技术,隔离 -dotCloudgo写的软件-Docker的基础是Linux容器(LXC)等技术-LXC的基础上Docker进行了进一步的封装,让用户不......
  • docker login 私有仓库时报错
    连接私有harbor报错如下:#dockerlogin192.168.1.88-uadmin-pHarbor12345WARNING!Using--passwordviatheCLIisinsecure.Use--password-stdin.Errorrespons......
  • 【docker】docker介绍,安装,镜像,容器
    目录1.docker入门2.运维软件的名词3.docker组件介绍4.docker安装启动5.docker镜像操作6.docker容器操作1.docker入门#虚拟化在计算机中,虚拟化(英语:Virtualizatio......
  • docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662上面在搭建起来前后端分离版的项目后。......
  • kettle(docker版)系列文章02---hello world
    目标:将mysql库中表的数据定时转到另外一个表中1、在mysql中新建目标表test_kettle,有字段id,productName,createtime2、连接mysql数据库DB连接-----》新建连接 3、......
  • docker安装mysql8
    虽然有一种说法是最好不要用docker安装数据库,因为数据库出错后难搞,如果挂载了数据还需要占用双份存储空间等。但有时候还是想搞点新鲜玩意,比如想搞个nextcloud来玩玩,个人感......
  • docker-部署mysql5.7
    1、已安装好docker的虚拟机2、我这里用的是腾讯云3、执行下方命令1.dockerimagepullmysql:5.72.dockerrun--namemysql-p3316:3306-eMYSQL_ROOT_PASSWORD......
  • 3. 使用Docker进行部署
    使用Docker进行部署在服务器中,如果我们使用docker部署,其步骤更为简单,我们只需要把服务端部署在容器中即可。一、直接使用脚本部署创建存储文件的目录:mkdir-p~/minio/......
  • dockers 删除容器及镜像
    一、查看容器,复制容器id即containeriddockerps-a二、停止容器dockerstop你的容器id三、删除容器dockerrm容器id四、查看镜像,复制镜像id即imagesiddockerimages五......
  • docker php容器安装swoole扩展
    swoole安装包下载地址我下载的是5.0.1的查看容器名称1#进入容器2dockerexec-itrun-php-81-fpm/bin/bash34#默认没有/usr/src/php需要通过docker-p......