docker入门基操~~~
# Docker基本使用方式
- [Window 使用 Docker 创建lnmp环境 ](#introduction)
- [常用docker命令 ](#command)
### [安装详情](https://www.cnblogs.com/wyt007/p/10656813.html)
<a name="introduction"></a>
## Window 使用 Docker 创建lnmp环境
#### 创建mysql 容器
```shell script
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=wqg951122 --name woann_mysql mysql:5.6
```
#### 参数说明
- -d 让容器在后台运行
- -p 添加主机到容器的端口映射
- -e 设置环境变量,这里是设置 mysql 的 root 用户的初始密码 *
- –name 容器的名字,随便取,但是必须唯一
#### 进入容器
```shell script
docker exec -ti woann_mysql /bin/bash
```
##### 参数说明
- -t 在容器产生一个伪终端
- -i 对容器内的标准输入 (STDIN) 进行交互
#### 安装VM(每个创建的容器都要执行此步骤,后续忽略)
```shell script
apt update
```
##### 再执行
```shell script
apt-get install vim
```
#### 安装完成
#### 创建php容器
```shell script
docker run -d -v /home/wwwroot:/home/wwwroot -p 9000:9000 --link woann_mysql:mysql --name woann_phpfpm php:7.2-fpm
```
#### 参数说明
- -d 让容器在后台运行
- -p 添加主机到容器的端口映射
- -v 添加目录映射,即主机上的 `/home/wwwroot` 和容器中 `/home/wwwroot` 目录是同步的
- –name 容器的名字
- –link 与另外一个容器建立起联系,这样我们就可以在当前容器中去使用另一个容器里的服务。这里如果不指定–link 参数其实也是可以得,因为容器本身也是有 ip 的且唯一,所以我们也可以直接利用 ip 去访问容器。
#### 添加 php 测试文件
##### 在 `/home/wwwroot` 目录下添加测试 php 文件 `index.php`
```php
<?php phpinfo();
```
#### 创建 nginx 容器 并挂载到本地目录 `注意`:本地想访问容器必须通过-p去添加端口映射 容器中项目应该挂载在本地目录房子丢失
```shell script
docker run -d -p 80:80 -v /home/wwwroot:/home/wwwroot --link woann_phpfpm:phpfpm --name woann_nginx nginx
```
#### 参数说明
- d 让容器在后台运行
- -p 添加主机到容器的端口映射
- -v 添加目录映射,这里最好 nginx 容器的根目录最好写成和 php 容器中根目录一样。但是不一点非要一模一样,如果不一样在配置 nginx 的时候需要注意
- –name 容器的名字
- –link 与另外一个容器建立起联系
#### 进入到 nginx 容器修改配置文件[#](https://learnku.com/articles/21950#070bf6)
- nginx 配置文件目录在 `/etc/nginx/` 目录下
- 主配置文件为 `/etc/nginx/nginx.conf`
- 引用配置文件为 `/etc/nginx/conf.d/*.conf`
- nginx 默认创建了一个引用配置文件 (/etc/nginx/conf.d/default.conf)
执行
```shell script
vim /etc/nginx/conf.d/default.conf
```
##### 添加如下代码,让 nginx 接收到 php 请求时自动转发到 phpfpm 容器
```shell
location ~ \.php$ {
root /home/wwwroot;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
```
#### 查看刚才创建的所有容器
```shell script
docker ps
```
#### 用浏览器访问 `http://127.0.0.1/index.php`, 即可看到 phpinfo 的信息页面。至此 lnmp 搭建完毕
<a name="command">
## 常用docker命令
#### 查看当前镜像
```shell script
docker images
```
#### 查看运行过的镜像
```shell script
docker ps -a
```
#### 卸载镜像
```shell script
docker rmi xxxxx (当前镜像id) || docker rm c3065afc73c4(容器ID)
```
#### 启动docker
```shell script
docker start c3065afc73c4(容器ID)
```
#### 终止容器
```shell script
docker stop c3065afc73c4(容器ID)
```
#### 进入docker容器
```shell script
docker attach c3065afc73c4(容器ID) 或者 docker exec -it nginx(容器名) /bin/bash
```
#### 重启docker容器
```shell script
docker restart c3065afc73c4(容器ID)
```
#### 上传文件到docker容器
> 例如:将当前路径`/root/test.txt`文件 映射到id为`ecef8319d2c8`的容器`/root/`下
> docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
```shell script
docker cp ecef8319d2c8:/root/test.txt /root/
```
docker入门基操~~~的更多相关文章
- Docker——入门实战
I. Docker简介Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.不过,Docker 跟传统的虚拟化方式相比具有众多的优势.我也将Docker类比于Python虚拟环境,可以有 ...
- 【转载】大白话Docker入门(二)
原文:https://yq.aliyun.com/articles/63517?spm=a2c4e.11153940.blogcont63035.15.12011c3fddklk0 上篇的大白话Doc ...
- 第三章 Docker 入门
第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- Docker入门教程(八)Docker Remote API
Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...
- Docker入门教程(七)Docker API
Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和 ...
- Docker入门教程(六)另外的15个Docker命令
Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...
- Docker入门教程(五)Docker安全
Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...
- Docker入门教程(四)Docker Registry
Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...
- Docker入门教程(三)Dockerfile
Docker入门教程(三)Dockerfile [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第三篇,介绍了Dockerfile的语法,DockerOn ...
随机推荐
- 免费、快速、可靠:揭秘IsGPT如何精准检测AI内容
随着GPT等技术的迅猛发展,不少人开始担心信息真实性和学术诚信.今天,分享一款由MIT CSAIL孵化的AI内容检测工具,看看它如何帮你快狠准地识别AI生成的文本 isgpt.org 市面上虽有不少A ...
- C#/.NET/.NET Core技术前沿周刊 | 第 33 期(2025年4.1-4.6)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- Python科学计算系列4—函数和数列极限
1.数列极限 例1:求下列数列的极限 代码如下: from sympy import * n, k = symbols('n k') f1 = limit(n / (factorial(n) ** ( ...
- 能用 Java8 开发 MCP(或 MCP Server),这才是 MCP 自由(Solon AI MCP)!
现在,用 Java 开发 MCP 的情况是: 框架 JDK要求 mcp-sdk 需要 jdk17+ spring-ai-mcp-server 需要 jdk17 + spring-ai-mcp-clie ...
- 11.23DP进阶总结
例.1 Luogu-P1387最大正方形 按如下复杂度来分析 O(\(n^6\)) O(\(n^5\)) O(\(n^3\)) O(\(n^2\log n\)) O(n^2) O(\(n^6\)) 最 ...
- CF1370C题解
本蒟蒻的第二篇题解,找题归功于教练 题目传送门 这道题目找好了规律很简单: 具体思路: 题目大意: 有一个正整数 nnn.两名玩家轮流操作.每次操作可以执行以下一种: 将 nnn 除以一个 nnn 的 ...
- .Net Core环境绑定及配置launchSettings.json
1.Asp.net Core的默认环境配置在项目Properties-->launchSettings.json下 { "$schema": "http://jso ...
- WO Mic - 免费麦克风
WO Mic可以将您的手机变成电脑麦克风.您无需支付一分钱购买任何设备.如果您选择无线传输,它也是便携的.数百万用户已经安装并每天都在使用它进行通话.录音.语音遥控等活动. 三大组件协同工作以实现这一 ...
- 遇到的问题之"数据库编写SQL-》子查询中加入limit报错:This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'"
一.问题 > 1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' 二. ...
- kubeadm部署高可用master
准备阶段 master1 master2 master3 node1 关闭selinux,firewall setenforce 0 sed -i 's/SELINUX=enforcing/SE ...