1. Linux 基础指令篇
网络篇 设置固定ip
一般虚拟机安装 使用外部网络 ip为DHCP 动态获取ip模式 这样导致虚拟机的ip一直在变化 会让你xshell连接失效,这个时候修改改成固定ip(未被占用的ip 如果ip冲突 显示无法上网),有两种修改方式 虚拟机操作和直接在windows控制面板网络设置
1.在虚拟机设置固定ip
- 查看服务网络接口名称 一般默认为
eth0
查看ip情况ip a 或者 ip addr show
- 编辑网络接口配置文件 通常位于
/etc/sysconfig/network-scripts/
目录下。假设你的网络接口名称为eth0
,则文件名为ifcfg-eth0
。vim /etc/sysconfig/network-scripts/ifcfg-eth0
- 修改配置文件 具体的参照下面 先放一张修改前的图
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.30.24
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
4. 这里插一点 如何查看默认网关地址 ip route show default
5. 重启网络服务 systemctl restart network
6. 验证是否生效 ip route show default
7. 检查网络情况 curl www.baidu.com
2. 在window网络配置的地方修改
依次找到 控制面板\网络和 Internet\网络连接
填上保存在应用就完事
文件操作篇
# 查看当前路径
pwd
# 查看文件详细列表
ll
# 查看文件列表
ls
# 复制文件 复制当前文件夹的 a.html 到当前文件夹 b.html (都可以带上路径 复制到指定的地方)
cp a.html b.html
# 移动或者重命名文件
mv a.html /usr/local/a.html
mv a.html b.html
# 创建文件夹
mkdir test
# 删除文件
rm a.html
# 递归删除文件夹 谨慎试验 一定要详细的路径 不然就成了格式化服务器了 ***rm -rf /*** 执行这个等于跑路
rm -rf ./dist
查询篇
# 查看文件
find [路径] -name='文件名'
whereis nginx
which nginx
文本相关
# 创建或者编辑文件 有文件就是编辑 没有就是新建
vi a.html 或者 vim a.html
# 进入之后
i 标识 插入 ESC 退出编辑模式 :w 退出 :wq 退出并保存 :!q 强制退出
# 复制粘贴快捷键
复制 ctrl + shift insert 粘贴 shift insert
# 查看文本
cat a.html
日志篇
# 查看日志
tail a.log
# 实时日志
tail -f a.log
# 带查询条件 A后面20行 B前20行 error 查询日志中的关键字
tail -f a.log | grep -A 20 -B 20 'error'
# 其它指令 都可以带查询条件 | grep
less a.log
cat a.log
...
允许ssh方式执行文件上传下载
yum install lrzsz
下载安装这个包,可以在ssh中直接拖拽文件上传和服务文件保存到电脑sz filename
保存服务器文件到宿主机器 例如把服务/opt/test
下面的文件发送到window
3.
rz
弹出上传文件的弹框 也可以直接拖拽文件上传
2. linux 服务篇
在执行yum install modulename时候出现资源不存在的情况 更新一下yum 执行 yum update -y
1.Docker安装
- 安装docker 所需的工具和库
yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置docker仓库 设置为阿里的源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装docker
yum install docker-ce docker-ce-cli containerd.io
- 验证是否安装成功
docker -v
- 启动服务
systemctl start docker
设置开机自启systemctl enable docker
- 查看状态
systemctl status docker
- 设置docker hub仓库地址
vim /etc/docker/daemon.json
编辑docker hub配置文件 如果不存在则创建
{
"log-driver": "json-file",
"log-opts": {
"max-size": "512m",
"max-file": "3"
},
"registry-mirrors": ["https://registry.docker-cn.com","https://hub.atomgit.com"]
}
- 重启
docker
命令为systemctl restart docker
- 检查是否生效
docker info
3. docker 相关操作指令
docker
的优势,传统部署我们开发完代码后,最基础的结构 前端dist
后台jar
,我们要开辟一个新的服务器,在上面安装java
环境jdk nginx redis mysql
这些,每次在不同的环境部署都需要重新配置这些环境,容器的作用是把这些环境都配置好封装到镜像里面,然后拿到其它机器上可以直接启动,无需重复配置这些.
3.1 docker 结构图
+------------------+
| Docker |
+------------------+
/ | \
/ | \
/ | \
+------------------+ +--------------+ +--------------+
| Images | | Containers | | Registries |
+------------------+ +--------------+ +--------------+
| | | | | | |
| | | | | | |
v v v v v v v
+------------+ +------------+ +------------+ +-----------+
| Repository | | Running | | Stopped | | Registry |
| (Image) | | Container | | Container | | (Server) |
+------------+ +------------+ +------------+ +-----------+
| | | | |
| | | | |
v v v v v
+-------------------+ +----------------------+
| Dockerfile | | Image Layer (Filesys) |
+-------------------+ +----------------------+
| |
| |
v v
+-------------+ +--------------+
| Source | | Dependencies |
| Code/Data | | (Libraries) |
+-------------+ +--------------+
3.2 docker的 相关命令
- images (镜像 类似于windows 的iso镜像 一个大的包 里面内置了很多软件)
- container (容器, 是由镜像实例化的实体 类似于 虚拟机安装的镜像 小的独立系统 )
镜像相关
# 列出所有的镜像
docker images
# 拉取官方镜像
docker pull [镜像名]:[版本] 例如 docker pull mysql:7.8
# 不写版本号 默认是最新版的 mysql:latest
docker pull mysql
# 构建 镜像 -t指定镜像名称版本 . 表示当前目录作为上下文 自动找当前目录的 Dockerfile 文件
docker build -t mysql:5.7 .
# 删除镜像 如果容器已经启动了 先要停止容器 再删除容器 再删除镜像
docker rmi [容器名或者id]
容器相关
# 查看容器 -a 表示所有
docker ps
# 运行容器 以上面的mysql为例 -d 后台启动 -p 端口映射 外部:内部 --name 容器名称 -e 配置 设置mysql密码
docker run --name mysql -p 4399:3306 -e MYSQL_ROOT_PASSWORD='1234556' -d mysql:5.7
# 重启 暂停 相关指令
docker stop [容器id]
docker start [容器id]
# 查看日志 -f 实时
docker logs -f [容器id]
# 删除容器
docker rmi [容器id]
3.3 容器文件挂载
因为docker容器是个独立的空间,如果你想把宿主机器的文件和docker的文件关联起来,就需要使用挂载功能,理解为容器内部可以读取宿主机器的文件夹,以下以nginx为例
- 在宿主机器
/opt/
下创建一个文件夹mikdir test
进入文件夹cd /opt/test/
随便放个图片或者html到文件夹下面 docker
启动nginx
并挂载宿主机器的/opt/test
文件夹docker run -p 8001:80 -v /opt/test:/usr/share/nginx/html nginx
这个是终端启动 不是后台启动 可以实时查看日志/usr/share/nginx/html
这个是docker
下nginx
默认的文件路径
- 打开浏览器访问
ip:8001
默认去寻找宿主机器test
文件夹下面的index
文件ip:8001/
上传的文件名 即可访问 http://10.23.23.36:8080/yh.jpg
- 可以访问 即代表文件挂载成功
3.4 进入容器内部
容器本身就是一个小的虚拟机 内部也是存在和外面一样的目录和结构的,进入指令为 docekr exec -it [容器id] /bin/bash
退出容器 exit