• 虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令


    1、虚拟机Linux-Centos系统网络配置常用命令

    1. 进入网络配置文件目录
    cd /etc/sysconfig/network-scripts/
    
    • 1
    1. ls 命令查看文件:ls
      在这里插入图片描述

    2. 编辑ifcfg-ens33文件

    vi ifcfg-ens33
    
    • 1

    按 i 进入insert编辑模式

    BOOTPROTO=static  启用静态IP地址
    ONBOOT=yes      开启自动启用网络连接
    
    IPADDR=192.168.30.100     设置IP地址
    NETMASK=255.255.255.0   子网掩码
    GATEWAY=192.168.30.2   设置网关
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    按下Esc进入命令模式输入:wq保存并退出。
    在这里插入图片描述

    1. 重启网卡
    service network restart
    
    • 1
    1. 查看IP
     ip addr
    
    • 1

    在这里插入图片描述

    1. 测试外网连接
    ping www.baidu.com
    
    • 1

    在这里插入图片描述
    显示ping通baidu啦,外网连接成功!!ctr+c退出。

    1. 查看操作系统版本:
    cat /etc/redhat-release
    
    • 1
    1. 查询是否是64位:
    uname -r
    
    • 1

    在这里插入图片描述

    2、Docker 的常用命令

    1. 查看版本号:
    docker version
    
    • 1
    1. 查看当前 docker 信息:
    docker info
    
    • 1
    1. 查看所有镜像:
    docker images 或 docker image ls (-a 查看运行和非运行的容器,-q 返回正在运行的容器 id,-qa 返回所有容器的 id)
    
    • 1
    1. 拉取一个镜像:
    docker pull 镜像名称
    
    • 1
    1. 删除一个镜像:
    docker rmi 镜像名称
    
    • 1
    1. 强制删除一个镜像:
    docker rmi -f 镜像名称
    
    • 1
    1. 运行一个容器:
    docker run 镜像名称 (-p 将宿主机端口和容器端口进行映射,-d 代表后台运行,--name 表示给容器取一个名字,-v 宿主机目录(绝对路径):容器内目录 实现宿主机目录和容器内目录)
    
    docker run --name myhd -dp 9000:8080 hello-docker:1.0
    
    • 1
    • 2
    • 3
    1. 查看当前正在运行的容器:
    docker ps (-a 显示所有的容器,-q 只显示正在运行的容器)
    
    • 1
    1. 启动容器:
    docker start 容器ID或容器名
    
    • 1
    1. 停止容器:
    docker stop 容器ID或容器名
    
    • 1
    1. 强杀容器:
    docker kill 容器ID或容器名
    
    • 1
    1. 容器的进入与退出:使用run方式在创建时进入
    docker run -it redis /bin/bash
    
    • 1
    1. 查看容器日志:查看redis容器日志
    docker logs Redis
    
    • 1
    1. 重启docker命令:
    systemctl restart docker
    
    • 1
    1. 查看docker状态:
    systemctl status docker
    
    • 1
    1. 设置自启动docker:
    systemctl enable docker
    
    • 1
    1. 设置不启动docker:
    systemctl disable docker
    
    • 1
    1. 停止docker:
    systemctl stop docker
    
    • 1

    查看文件:cat hello.log
    删除文件:rm -rf hello.log
    重命名文件: mv xxx xxxx

    查看docker中所有容器:docker ps -a
    删除全部docker容器: docker rm -f $(docker ps -qa)

    构建docker容器(不要忘记最后一个点):docker build -t hello-docker:1.0 .
    运行docker容器:docker run --name myhd -dp 9000:8080 hello-docker:1.0
    进行docker容器:docker exec -it xxx /bin/bash
    查看所有文件:ls -l

    2.1 安装docker步骤命令
    1. 安装工具:
    yum install -y yum-utils
    
    • 1
    1. 配置阿里云镜像:
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1
    1. 查看配置:
    ll /etc/yum.repos.d
    
    • 1
    1. 安装docker:
    yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
    • 1
    1. 启动docker:
    systemctl start docker
    
    • 1
    1. 查看docker版本:
    docker version
    
    • 1
    1. 查看docker中已安装的镜像:
    docker images
    
    • 1
    2.2 在docker容器中安装和运行mysql
    1. 拉取mysql:
    docker pull mysql:5.7
    
    • 1
    1. 运行mysql:
    docker run --name mysql -dp 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
    
    • 1
    1. 进入mysql:
    docker exec -it mysql /bin/bash
    
    • 1
    1. 进入mysql:
    mysql -uroot -p
    
    • 1
    1. 查看数据库:
    show databases;
    
    • 1
    1. 创建test数据库:
     create database test;
    
    • 1
    1. 切换使用test数据库:
    use test;
    
    • 1
    1. 创建一张emp的表:
    create table emp(id int,name varchar(20),depart varchar(20));
    
    • 1
    1. 插入多条数据:
    insert into emp values(1,'zs','market');
    
    • 1
    1. 查看数据:
    select * from emp;
    
    • 1
    1. 查看数据库中字符串支持的格式:
    show variables like 'character%';
    
    • 1
    1. 为当前 MySQL 创建一个用户:
    create user 'slave'@'%' identified by '123456';
    
    • 1
    1. 为新创建的用户授权:
    grant replication slave,replication client on *.* to 'slave'@'%';
    
    • 1
    1. 查询权限:
    show grants for 'slave'@'%';
    
    • 1
    1. 复制目录 :
    cp -r mysql mysql_master
    
    • 1
    1. 删除目录:
    rm -rf data/ log/
    
    • 1
    1. 启动mysql容器:
    docker run --name mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -v /root/mysql/data:/var/lib/mysql \
    -v /root/mysql/log:/var/log/mysql \
    -v /root/mysql/conf:/etc/mysql/conf.d \
    -dp 3306:3306 \
    mysql:5.7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2、dockerfile关键字区别(ADD/COPY,CMD/ENTRYPOINT)

    1. ADD和COPY
      两者都是将文件从宿主机拷贝到docker容器里面,ADD更为强大,如果拷贝的是个压缩包会自动解压,但一般常用的COPY

    2. CMD和ENTRYPOINT
      两者都是容器启动时执行的命令,不同的是一个是覆盖原有命令,一个是在原有命令上追加

    3. CMD
      docker run 之后加的参数,如果是CMD,会直接覆盖掉原有CMD命令,变为参数

    //dockerfile
    
    ....
    
    CMD ["cd /tmp"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    docker run image  //会直接执行cd /tmp命令到tmp目录
    docker run image cd /usr   //这个命令会将dockerfile中的命令覆盖掉,目录会到usr
    
    
    • 1
    • 2
    • 3
    1. ENTRYPOINT
      docker run 后面追加参数的话,不会覆盖原有dockerfile中的命令,而是在后面追加
    //dockerfile
    
    ....
    
    ENTRYPOINT ["cd /tmp"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    docker run image  //会直接执行cd /tmp命令到tmp目录
    docker run image cd /usr   //会先cd到tmp,再cd到usr
    
    
    • 1
    • 2
    • 3
    1. 当CMD和ENTRYPOINT同时存在时
      ENTRYPOINT和CMD两个命令的先后顺序无关;
      当ENTRYPOINT使用shell语法时,无论CMD使用什么语法以及docker run有没有附加command,都只执行ENTRYPOINT
    //情况一
    ENTRYPOINT echo "e"
    CMD echo "c"
    
    docker run不附加command //输出 e
    docker run附加command(echo "hi") //输出 e
    
    //情况二
    ENTRYPOINT echo e
    CMD ["echo","c"]
    
    docker run不附加command //输出结果: e
    docker run附加command(echo "hi")//输出结果: e
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    1. 当ENTRYPOINT使用可执行文件加参数的语法时,分两种情况:
      docker run没有附加command:无论CMD使用什么语法,CMD指令的内容会作 为参数传递给ENTRYPOINT;
    - 情况一
    ENTRYPOINT ["echo","e"]
    CMD echo "c"
    
    docker run不附加command  //输出结果: e /bin/sh -c echo c
    
    - 情况二
    ENTRYPOINT ["echo","e"]
    CMD ["echo","c"]
    
    docker run不附加command  //输出结果: e echo c
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    docker run附加了command:无论CMD使用什么语法,CMD指令会被docker run 中的command覆盖,command作为参数传递给ENTRYPOINT。

    //情况一
    ENTRYPOINT ["echo","e"]
    CMD echo "c"
    
    docker run附加command(echo “hi”)  //输出结果: e  echo hi
    
    //情况二
    ENTRYPOINT ["echo","e"]
    CMD ["echo","c"]
    
    docker run附加command(echo “hi”)  //输出结果: e echo hi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    美团一面:为什么线程崩溃崩溃不会导致 JVM 崩溃
    用ChatGPT做一个Chrome扩展 | 京东云技术团队
    HaaS学习笔记 | 终端设备接入和断开阿里云IoT物联网平台的明细教程
    一天吃透Java并发面试八股文
    Linux操作系统
    华为机试 - 完全二叉树非叶子部分后序遍历
    Python dcm转jpg与jpg转dcm
    AWS云计算平台:全方位服务与实践案例
    日期类~~
    【无标题】
  • 原文地址:https://blog.csdn.net/weixin_43025151/article/details/134238640