docker搭建lnmp环境

Posted cxscode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker搭建lnmp环境相关的知识,希望对你有一定的参考价值。

 

入门参考

http://www.runoob.com/docker/docker-install-nginx.html

 

十大常用命令玩转docker

1、 #从官网拉取镜像

docker pull <镜像名:tag>

如:docker pull centos(拉取centos的镜像到本机)

2、#搜索在线可用镜像名

docker search <镜像名>

如:docker search centos( 在线查找centos的镜像)

3、#查询所有的镜像,默认是最近创建的排在最上

docker images

4、#查看正在运行的容器

docker ps

5、#删除单个镜像

docker rmi -f <镜像ID>

6、#启动、停止操作

docker stop <容器名or ID> #停止某个容器 

docker start <容器名or ID> #启动某个容器 

docker kill <容器名or ID> #杀掉某个容器

7、#查询某个容器的所有操作记录。

docker logs {容器ID|容器名称} 

8、# 制作镜像  使用以下命令,根据某个“容器 ID”来创建一个新的“镜像”:

docker commit 93639a83a38e  wsl/javaweb:0.1

9、#启动一个容器

docker run -d -p 58080:8080 --name javaweb wsl/javaweb:0.1 /root/run.sh

解释:-d:表示以“守护模式”执行/root/run.sh脚本

          -p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。

          -name:为容器命名

10、#最后补充一个启动docker服务的命令

很简单:

service docker start

地址:https://jingyan.baidu.com/article/cd4c29791ec318756e6e6020.html

 

日志查看

命令格式:

$ docker logs [OPTIONS] CONTAINER
  Options:
        --details        显示更多的信息
    -f, --follow         跟踪实时日志
        --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
        --tail string    从日志末尾显示多少行日志, 默认是all
    -t, --timestamps     显示时间戳
        --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

例子:

查看指定时间后的日志,只显示最后100行:

$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

查看最近30分钟的日志:

$ docker logs --since 30m CONTAINER_ID

查看某时间之后的日志:

$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID

查看某时间段日志:

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

参考:https://www.jianshu.com/p/1eb1d1d3f25e

 

启动docker

service docker restart

stop: Unknow instance、

start:job failed to start

 stop:Unknow job:docker

start: Unkonw job:docker

  

常用

  • docker ps: 查看当前运行的容器
  • docker ps -a:查看所有容器,包括停止的。

容器的管理(创建、查看、启动、终止、删除)

删除容器

docker rm ...

https://blog.csdn.net/u010246789/article/details/53958662

 

如何在Linux下安装vim编辑器(Ubuntu)

apt-get install vim

遇到问题就先

apt-get update再试试

CentOS和Ubuntu区别 https://blog.csdn.net/qq_21033663/article/details/78010230

详细:https://jingyan.baidu.com/article/046a7b3efd165bf9c27fa915.html

 

Linux

文件异常关闭处理

rm .{your file name}.swp

https://blog.csdn.net/xiaoshunzi111/article/details/50051679

创建文件 touch+文件名 

 

Docker容器进入的4种方式

https://www.cnblogs.com/xhyan/p/6593075.html

 

nginx启动、重启、关闭

nginx -s reload

详细:https://blog.csdn.net/w1014074794/article/details/51881050

 

基于Docker搭建LNMP环境

https://blog.csdn.net/xy752068432/article/details/75975065

 

docker 进入正在运行的容器

用法: 
docker exec [OPTIONS] CONTAINER COMMAND [ARG…] 
如一个正在运行的ubuntu容器ID为39bc60e016a7,想要进入ubuntu操作,只需输入一下命令: 
docker exec -it 39 /bin/bash

 

 Docker容器的端口映射

# docker run -p 8080:80 -it ubuntu /bin/bash

https://blog.csdn.net/yjk13703623757/article/details/69212521

 

docker 给运行中的容器设置端口映射

1.提交一个运行中的容器为镜像
docker commit containerid foo/live

2.运行镜像并添加端口
docker run -d -p 8000:80  foo/live /bin/bash

https://blog.csdn.net/libraryhu/article/details/52443447

 

修改fastcgi_pass

PS:此处是通过nginx+php实现web服务,nginx配置文件的fastcgi_pass应该配置为myphp-fpm容器的IP。

fastcgi_pass  172.17.0.4:9000;

容器IP的查方法

docker inspect 容器ID或容器名 |grep \'"IPAddress"\'

或者
docker inspect 容器ID或容器名

详细:https://segmentfault.com/q/1010000004854045

http://www.runoob.com/docker/docker-install-php.html

 

file not found. nginx php nginx 如何开启解析 PHP 的功能

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name; 改为 fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;

 

php镜像版本太老,切换镜像

新pull一个镜像

docker pull kvaps/php-mysql

绑定9000

docker run -p 9000:9000 --name  myphp-kvaps -v E:\\docker\\nginx/www:/www -v E:\\docker\\nginx/conf:/usr/local/etc/php -v E:\\docker\\nginx/logs:/phplogs   -d kvaps/php-mysql

 参考:https://www.jianshu.com/p/f244eb57820c  

 

https://yq.aliyun.com/articles/46013

https://www.cnblogs.com/huaerr/p/7039797.html

https://www.cnblogs.com/iosdev/p/3439834.html

 

命令:

Docker容器的端口映射

docker run -p 80:80 -d nginx

进入某容器

docker exec -it 2772 /bin/bash

查IPAddress地址 

docker inspect 6320

停止某个容器

docker kill 6320

删除某个容器

docker rm 6320

 

docker images

docker images -a

docker ps

docker ps -a

 

拉镜像

docker pull nginx/php/mysql

进入容器(容器id:6320)

docker exec -it 6320 /bin/bash

启动镜像并关联其他容器(容器id6320)

docker run -d -p 80:80 --name nginx\\ -v /var/nginx/www/html:/var/www/html\\ --link 6320 --name nginx nginx

 

nginx重启

nginx -s reload

 

cp 复制

touch 创建文件

mkdir 创建文件夹

mv 改名

chmod 777 /home/user  注:仅把/home/user目录的权限设置为rwxrwxrwx

chmod -R 777 /home/user  注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx

 

以上是关于docker搭建lnmp环境的主要内容,如果未能解决你的问题,请参考以下文章

Mac下docker搭建lnmp环境 + redis + elasticsearch

docker搭建lnmp环境

docker搭建 LNMP 环境

docker搭建lnmp环境

docker搭建自己的Lnmp环境+宝塔

docker部署lnmp环境搭建php项目