在我們拿到一個純凈的linux系統時,我需要進行一些基礎環境的配置
(如果是云服務器可以用XShell遠程連接,如果連接不上可能是服務器沒開放22端口)
下面是配置環境的步驟
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 dockerps -ef | grep docker ## ps -ef:這部分命令用于顯示當前系統上所有進程的詳細信息。具體來說,它會列出進程的用戶、進程ID(PID)、CPU使用情況、內存使用情況等。
## |:這是管道符號,用于將一個命令的輸出傳遞給另一個命令作為輸入。
## grep docker:這部分命令用于過濾前一個命令的輸出,只顯示包含 "docker" 字符串的行。這通常用于查找與 Docker 相關的進程。
一些基礎docker指令
##### 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 #停止容器
防火墻問題(外網想要訪問服務器上的項目需要云服務器的安全組和服務器同時開放端口)
開放端口: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