随笔Ubuntu上的的一些使用

时间:2024-04-26 21:48:59

Ubuntu简易使用

常用指令

  • cd
  • ls
  • mkdir
  • rf -rm 路径

换源

备份镜像

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑文件设置

sudo gedit /etc/apt/sources.list

清华源

#  阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

VM虚拟机安装vm-tools

sudo apt-get upgrate
sudo apt-get install open-vm-tools-desktop -y
sudo reboot

远程坑

由于使用的是SSH连接方式所以我们需要

sudo apt-get install openssh-server 
ifconfig //查看ip

然后在FileZilla中从ifconfig获取到的ip地址天上去,然后输入账户密码,端口22即可

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

安装docker

[容器与云|如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose (linux.cn)](https://linux.cn/article-14871-1.html#:~:text=在 Ubuntu 22.04 LTS 中安装 Docker 1 1、更新,(选做) 默认情况下,Docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。 )

  1. $ sudo apt update
    $ sudo apt upgrade
    $ sudo apt full-upgrade
    
  2. $ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
    
    
  3. $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    
  4. $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    
  5. $ sudo apt update
    
    
  6. $ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
    
  7. 验证开启服务

$ systemctl status docker

容器操作

1、搜索镜像
[root@localhost ~]# docker search tomcat
2、拉取镜像
[root@localhost ~]# docker pull tomcat
3、根据镜像启动容器
docker run --name mytomcat -d tomcat:latest
4、docker ps  
查看运行中的容器
5、 停止运行中的容器
docker stop  容器的id
6、查看所有的容器
docker ps -a
7、启动容器
docker start 容器id
8、删除一个容器
 docker rm 容器id
9、启动一个做了端口映射的tomcat
[root@localhost ~]# docker run -d -p 8888:8080 tomcat
-d:后台运行
-p: 将主机的端口映射到容器的一个端口    主机端口:容器内部的端口
10、查看容器的日志
docker logs container-name/container-id

更多命令参看
https://docs.docker.com/engine/reference/commandline/docker/
可以参考每一个镜像的文档

常用指令

操作 命令 说明
检索 docker search 关键字 eg:docker search redis 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。
拉取 docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest
列表 docker images 查看所有本地镜像
删除 docker rmi image-id 删除指定的本地镜像
  • search
  • pull
  • images
  • rmi

安装mysql

需要在管理员身份下

docker search mysql
docker pull mysql
docker run -p 3306:3306 --name Docker_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
 *** NOTE ***
--name  <docker_mysql>          #给容器取别名
-p 3306:3306                    #将容器的 3306 端口映射到主机的 3306 端口
-d                              #后台启动容器
-e MYSQL_ROOT_PASSWORD=123456   #初始化 root 用户的密码
--lower_case_table_names=1      #设置 mysql 对大小写不敏感
-v /usr/mysql/logs:/logs        #将主机 /usr/mysql目录下的 logs 目录挂载到容器的 /logs。
停止和杀死服务
docker ps

CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS         PORTS                                                  NAMES
77467cc63a1a   mysql     "docker-entrypoint.s…"   2 hours ago   Up 4 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysqll

找到77467cc63a1a这个是容器id

docker stop 77467cc63a1a
docker kill 77467cc63a1a
再次开启mysqll服务
dorcker start mysqll

修改mysql配置文件

进入容器的空间

先使用ps查看容器id然后进入

docker ps
docker exec -ti 容器id bash

进去后显示

bash-4.4# 

登录mysql

mysql -u root -p 
root

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在mysql命令行中授权

#开启远程
GRANT ALL ON *.* TO 'root'@'%'; 
#刷新权限
flush privileges;
#修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
#修改root的密码为root
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; 
flush privileges;
#退出
exit;

本机去连接虚拟机使用navicat

在ubuntu下输入(前提是装好了对应的包才能使用ifconfig 否则则使用 ip addr)

ifconfig #或者 ip addr

得到

docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:d1ff:fe2b:19ce  prefixlen 64  scopeid 0x20<link>
        ether 02:42:d1:2b:19:ce  txqueuelen 0  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 173  bytes 59570 (59.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.227.137  netmask 255.255.255.0  broadcast 192.168.227.255
        inet6 fe80::322a:5b93:da4a:219a  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d3:3d:73  txqueuelen 1000  (以太网)
        RX packets 117953  bytes 173837229 (173.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16599  bytes 1404854 (1.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地环回)
        RX packets 898  bytes 334394 (334.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 898  bytes 334394 (334.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth5cc5cca: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::548c:79ff:feec:5f80  prefixlen 64  scopeid 0x20<link>
        ether 56:8c:79:ec:5f:80  txqueuelen 0  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 51  bytes 12645 (12.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

很显然我们需要的是ens33的ip地址所以去navicat上进行连接

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

挂载本地目录

  • 创建本地MySQL映射目录
mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf
  • 在/root/mysql/conf中创建 *.cnf 文件
cd /root/mysql/conf
touch my.cnf
  • 挂载备份目录
docker run -p 3306:3306 --name mysql01 \
-v /root/mysql_data/conf:/etc/mysql/conf.d \
-v /root/mysql_data/data:/var/lib/mysql \
-v /root/mysql_data/logs:/logs \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.1

怕docker服务炸了从而没有保存到数据

安装Redis

Docker 安装 Redis 容器 (完整详细版)_docker redis_Touch&的博客-****博客

docker search redis #查看可拉取的
docker pull #拉取latest的
# 本次执行命令:
docker run --name redis -p 6379:6379 \
-v /home/redis/data:/data \
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf 

安装宝塔

详细内容看官方

宝塔面板下载,免费全能的服务器运维软件 (bt.cn)

启动宝塔

/etc/init.d/bt start

关闭宝塔

/etc/init.d/bt stop

安装Mysql本机而言

sudo apt install mysql-server

开启服务的验证

sudo systemctl mysql-server

若没开启服务手动开启服务

sudo /etc/init.d/mysql start

安装redis

sudo apt install redis-server

检查开启否

sudo systemctl status redis-server