这篇文章主要介绍了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分钟)
例子:参考:docker logs-查看docker容器日志 - 简书
//查看指定时间后的日志,只显示最后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
启动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实践(二):容器的管理(创建、查看、启动、终止、删除)_孤天浪雨的博客-CSDN博客_docker 创建容器
删除容器
docker rm ...
docker rmi -f mysql //我偏向于这个操作
如何在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容器的端口映射
//将容器内的8080端口映射为宿主机的58080,这样就向外界暴露了58080端口,可通过Docker网桥来访问容器内部的8080端口
docker run -p 58080:8080 -d nginx
进入某容器
docker exec -it 2772 /bin/bash
查IPAddress地址
docker inspect 6320
停止某个容器
docker kill 6320
拉镜像
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 改名
//仅把/home/user目录的权限设置为rwxrwxrwx
chmod 777 /home/user
//表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx
chmod -R 777 /home/user
//是将文件状态改为可执行
chmod +x install.sh
以上就是本文的全部内容,希望对大家的学习有所帮助,本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文地址:https://www.cnblogs.com/cxscode/p/9130747.html