在我们拿到一个纯净的linux系统时,我需要进行一些基础环境的配置
(如果是云服务器可以用XShell远程连接,如果连接不上可能是服务器没开放22端口)
下面是配置环境的步骤
bash
sudo -s进入root权限:退出使用exit
sudo -i进入后退出使用logout
## 防火墙
iptables -F #清空现有规则
getenforce
systemctl disable firewalld #关闭防火墙自启
systemctl stop firewalld #关闭防火墙
# 配置yum源
wget -O /etc/yum,repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#清缓存
yum clean all
# 生成缓存
yum makecache
# 装依赖
yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel
#开启linux内核的流量转发
cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.ip_forward = 1
EOF
#加载修改内核的参数,配置文件
sysctl -p /etc/sysctl.d/docker.conf
## 加载配置报错 no such file 则
modprobe br_netfilter
####### 利用yum快速安装docker #######
## 下载阿里源repo文件
curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清楚并更新yum缓存
yum clean all && yum makecache
## yum安装
yum install docker-ce-20.10.6 -y
## 查看源中可用版本
yum list docker-ce --showduplicates | sort -r
## 卸载
yum remove -y docker-xxx
##### 配置镜像源 #######
mkdir -p /etc/docker #创建文件夹
touch /etc/docker/daemon.json #创建文件
vim /etc/docker/daemon.json #打开配置文件 按i进行插入模式
{
"registry-mirrors" : [
"https://8xpk5wnt.mirror.aliyuncs.com"
]
}
# :wq! 强制保存退出
# 查看文件内容
cat /etc/docker/daemon.json
## 设置开机自启docker
systemctl daemon-reload #重新读一遍配置文件
systemctl enable docker
systemctl restart docker
ps -ef | grep docker
## ps -ef:这部分命令用于显示当前系统上所有进程的详细信息。具体来说,它会列出进程的用户、进程ID(PID)、CPU使用情况、内存使用情况等。
## |:这是管道符号,用于将一个命令的输出传递给另一个命令作为输入。
## grep docker:这部分命令用于过滤前一个命令的输出,只显示包含 "docker" 字符串的行。这通常用于查找与 Docker 相关的进程。
一些基础docker指令
bash
##### docker 命令 #####
docker version
## 示例
docker search nginx
docker image ls #等同于docker images 查看本地镜像
docker rmi 镜像id #删除镜像
docker pull nginx #拉取下载镜像
# -d 后台运行容器
# -p 80:80 端口映射 宿主机端口:容器内端口 访问宿主机端口等同于访问容器内端口
docker run -d -p 80:80 nginx #运行完成后返回容器id
# -i 交互式命令操作 -t 开启一个终端 bash进入容器后执行的命令
docker run -it 容器id bash
# 进入到正在运行的容器内
docker exec -it 容器id bash
exit #退出容器空间
netstat -tunlp #用于显示网络统计信息的命令。
-t: 该选项用于显示TCP协议的相关信息,包括TCP连接和监听端口。
-u: 这个选项用于显示UDP协议的相关信息,包括UDP连接和监听端口。
-n: 该选项指示 netstat 显示数字形式的IP地址和端口号,而不是尝试解析主机名或服务名称。
-l: 该选项表示仅显示监听(listening)的端口。
-p: 这个选项用于显示与每个网络连接或监听端口相关联的进程信息(进程ID)。
docker ps #查看运行容器
docker stop 容器id #停止容器
防火墙问题(外网想要访问服务器上的项目需要云服务器的安全组和服务器同时开放端口)
bash
开放端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=docker --add-port=9999/tcp --permanent
重启防火墙:systemctl restart firewalld.service
查看已开启的端口信息 firewall-cmd --list-ports
查看防火墙状态,running代表正在运行:firewall-cmd --state
停止命令systemctl stop firewalld.service
启动命令systemctl start firewalld.service