虚拟机配置

发布时间 2023-12-10 09:19:43作者: 德琪

1.网络配置

1.在本机查看并设置VMware的网络配置

2.修改网络配置文件

image-20231209103008711

修改内容要求:

image-20231209103623779

3.重启服务并测试网络

2.系统初始化

1.关闭selinux
  • 查看状态
    getenforce

  • 临时关闭
    setenforce 0

  • 永久关闭
    vi /etc/selinux/config

    设置为SELINUX=disabled

image-20231209095326802

2.关闭防火墙
  • 查看防火墙状态
    systemctl status firewalld
  • 关闭
    systemct1 stop firewalld
  • 关闭开机启动防火墙
    systemctl disable firewalld
3.安装net-tools(查看电脑ip)
  • yum install net-tools -y
image-20231209100220242
4.安装openssh-server
  • yum install openssh-server (安装)
  • systemctl start sshd.service (临时启动)
  • systemctl enable sshd.service (开机启动)
image-20231209101502353

3.管理服务器

1.安装XShell、Xftp7
image-20231209104914358
2.安装CentOS常用工具
yum install -y wget 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

image-20231209105106755

3.安装docker
# CentOS系统
# 1.配置repo源
[root@localhost ~]# curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost ~]# yum clean all & yum makecache

# 2.查看docker可下载版本
[root@localhost ~]# yum list docker-ce --showduplicates | sort -r

#最新版
[root@localhost ~]# yum install -y docker-ce
#指定版本
[root@localhost ~]# yum install -y docker-ce-23.0.6

4.配置docker镜像加速
# 1.创建文件夹
[root@localhost ~]# mkdir -p /etc/docker
# 2.镜像加速
[root@localhost ~]# vi /etc/docker/daemon.json
{ "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://xqybwad5.mirror.aliyuncs.com",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
     ]
}

# 3.重新加载配置文件
[root@localhost ~]# systemctl daemon-reload

# 4.启动docker
[root@localhost ~]# systemctl start docker
# 5.开机启动
[root@localhost ~]# systemctl enalbe docker

# 6.查看docker版本,验证是否安装成功
[root@localhost ~]#  docker version /或者 docker info 

5.拉取镜像image
# 1.检索镜像源
[root@localhost ~]#  docker search python
NAME        DESCRIPTION                                      STARS     OFFICIAL   AUTOMATED
python      Python is an interpreted, interactive, objec…   9263      [OK]       
pypy        PyPy is a fast, compliant alternative implem…   382       [OK]       
hylang      Hy is a Lisp dialect that translates express…   59        [OK]  

# 2.拉取镜像
[root@localhost ~]# docker pull python:3.10

# 3.检查系统内的镜像
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
python       3.10      a5d7930b60cc   23 months ago   917MB

6.启动镜像,生成容器(container)
# 1.基于python:3.10镜像(image),生成容器(container:0e6)
[root@localhost new]# docker run -it -d python:3.10  #实例化镜像
0e67886e7d598492b0312d1dd62358c18df2b4742076d25fb12a4abf2dfd2f1b

# 2.查看容器(运行进程)
[root@localhost new]# docker ps
CONTAINER ID   IMAGE         COMMAND     CREATED          STATUS          PORTS     NAMES
0e67886e7d59   python:3.10   "python3"   10 minutes ago   Up 10 minutes             admiring_elion

# 3.进入容器 /退出容器(ctrl+D)
[root@localhost new]# docker exec -it 0e /bin/bash  #(容器id前两位就行:0e)
root@0e67886e7d59:/# python
Python 3.10.1 (main, Dec 21 2021, 09:01:08) [GCC 10.2.1 20210110] on linux

root@0e67886e7d59:/# #按住ctrl+D,退出容器
[root@localhost new]#
7.上传工程文件
# 1.上传工程
[root@localhost new]# rz

[root@localhost new]# ls
server.7z

# 2.安装7z压缩包的解压工具
[root@localhost new]# sudo yum install p7zip  
#(sudo 被用来获取超级用户权限来执行 yum install p7zip 命令,这样可以确保安装 p7zip 软件包时具有足够的权限。)

# 3.查看 new文件夹里面的工程和容器
[root@localhost new]# ls
server  server.7z
[root@localhost new]# docker ps
CONTAINER ID   IMAGE         COMMAND     CREATED          STATUS          PORTS     NAMES
0e67886e7d59   python:3.10   "python3"   42 minutes ago   Up 42 minutes             admiring_elion

# 4.把new文件夹里面的工程,拷贝到容器内
[root@localhost new]# docker cp server 0e:/
Successfully copied 143MB to 0e:/


8.管理并运行容器(container)
# 1.进入容器
[root@localhost new]# docker exec -it 0e /bin/bash  #(容器id前两位就行:0e)
root@0e67886e7d59:/# ls
bin  boot  dev	etc  home  lib	lib64  media  mnt  opt	proc  root  run  sbin  server  srv  sys  tmp  usr  var

# 2.进入容器内的工程处
root@0e67886e7d59:/# cd server/
root@0e67886e7d59:/server# ls
__pycache__  app_analydata  app_pressure  app_sysother	coalbasic_data.db  others     requirements.txt	server
app_3dwork   app_baseinfo   app_roadway   app_userinfo	manage.py	   readme.md  rmpa.sql

# 3.给工程更换一个python镜像源
root@0e67886e7d59:/server# pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to /root/.config/pip/pip.conf

# 4.根据工程的requirements.txt依赖需求,安装工程依赖
root@0e67886e7d59:/server# pip install -r requirements.txt

# 5.运行工程
root@0e67886e7d59:/server# python manage.py runserver 0.0.0.0:8000
===============install pymysql==============
===============install pymysql==============
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
December 09, 2023 - 17:11:17
Django version 3.2.11, using settings 'server.settings'
Starting development server at http://0.0.0.0:8000/

9.打包容器成新的镜像,并对外部映射端口
[root@localhost new]# docker ps
CONTAINER ID   IMAGE         COMMAND     CREATED             STATUS             PORTS     NAMES
0e67886e7d59   python:3.10   "python3"   About an hour ago   Up About an hour             admiring_elion

# 1.把new文件夹下的 0e67886e7d59 容器打包成新的镜像,并且将其标记为 pynew
[root@localhost new]# docker commit 0e67886e7d59 pynew
sha256:7a61e3591a00b522c596ab9649135160b07cde72cc74c2e6f401631c2941d886

# 2.基于刚才的镜像pynew镜像(image),生成容器(container:fe8)
[root@localhost new]# docker run -it -d -p 8080:8000 pynew
fe88d00fe6aef560b64cf15969c6f0b935be9242b2a5b72ee5798ec81e51968a
[root@localhost new]# docker ps
CONTAINER ID   IMAGE         COMMAND     CREATED             STATUS             PORTS                                       NAMES
fe88d00fe6ae   pynew         "python3"   7 seconds ago       Up 6 seconds       0.0.0.0:8080->8000/tcp, :::8080->8000/tcp   modest_bardeen
0e67886e7d59   python:3.10   "python3"   About an hour ago   Up About an hour                                               admiring_elion

# 3.运行该容器,对外放端口
[root@localhost new]# docker exec -it fe bash
root@fe88d00fe6ae:/# ls
bin  boot  dev	etc  home  lib	lib64  media  mnt  opt	proc  root  run  sbin  server  srv  sys  tmp  usr  var
root@fe88d00fe6ae:/# cd /server
root@fe88d00fe6ae:/server#  python manage.py runserver 0.0.0.0:8000
===============install pymysql==============
===============install pymysql==============
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
December 09, 2023 - 17:53:57
Django version 3.2.11, using settings 'server.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
10.编写Dockerfile与运行脚本build.sh
# 1.编写Dockerfile
[root@localhost new]# vi Dockerfile

[root@localhost new]# ls
Dockerfile  server  server.7z

# 2.使用当前目录 . 下面的Dockerfile bulid一个新的镜像,名叫pymy
[root@localhost new]# docker build -t pymy .
                                                                                                                                             # 3.生成一个执行Dockerfile的脚本                 
[root@localhost new]# echo "docker build -t pymy ." > build.sh
[root@localhost new]# ls
build.sh  Dockerfile  server  server.7z

Dockerfile:

# images 基础镜像
FROM python:3.10
#MAINTAINER 维护者信息
#maintainer dq314159@163.com

# copy
COPY ./server /server
WORKDIR /server 

#RUN 执行以下命令
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
RUN cd /server && pip install -r requirements.txt

EXPOSE 8000

CMD ["python3","manage.py","runserver","0.0.0.0:8000"]
11.Dockerfile导出/上传
[root@localhost new]# ls
build.sh  Dockerfile  server  server.7z

# 把部署文件导出,以供到其他系统部署
[root@localhost new]# sz Dockerfile
[root@localhost new]# 

[root@localhost new]# sz build.sh
[root@localhost new]# 

image-20231209210740268

12.系统部署