docker上传文件至容器

docker上传文件至容器

拿到容器ID

1
docker ps -a

将本地文件上传到容器的指定目录中

1
docker cp 本地文件路径 ID全称:容器路径
1
docker cp /home/stydent/EdgeGPT /usr/local/lib/python3.11/site-packages
1
sudo docker cp fbf56805d23a:/usr/local/lib/python3.11/site-packages ./site-packages

docker遇到的问题

拉取镜像失败是网络问题,先看网络

docker命令报错error during connect: Get http://2F2F.2Fpipe2Fdocker_engine/v1.36/containers/json: open//.

在清理docker时遇到

1
docker system prune

原因是docker无法挂载到wsl上

因为刚刚执行压缩命令占用了vhdx文件,不能把docker文件关联上

关机重启就好

1
2
3
4
5
6
7
8
9
 docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- unused build cache

Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B

openvpn

openvpn

下载

1
wget -O openvpn.sh https://get.vpnsetup.net/ovpn

安装

1
sudo bash openvpn.sh --auto

启动

1
sudo bash openvpn.sh

ngnix实现共享文件

ngnix实现共享文件

乱码解决

1
2
server和loaction层都加上
charset utf-8

配置 Nginx

1
sudo vi /etc/nginx/sites-enabled/default

验证配置

1
2
3
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

这样测试说明 nginx 配置是正确的。

重启启动 nginx 服务

1
sudo service nginx restart

权限问题

要求权限是755才能正常访问

1
chmod -R 755 xmal/

system初始化问题

System has not been booted with systemd as init system (PID 1). Can’t operate.
Failed to connect to bus: Host is down

翻译过来就是:“系统尚未以systemd作为初始系统启动”。

问题分析:

1)当你尝试使用 systemd 命令来管理 Linux 系统上的服务的时候,之所以会报错,可能因为系统中根本就没有使用 systemd,而是使用的 SysV init (sysvinit)。

2)如果你是在 windows 中通过 WSL 使用的 Ubuntu 或者 Dibian 系统,默认情况下系统使用的是 SysV 而不是 systemd。

windows安装python2环境

windows安装python2环境

image-20240918205426825

安装在D盘后,不用管最后这个,之后配置环境变量

image-20240918205806490

image-20240918210154534

把这两个目录添加到环境变量,之后再修改文件夹中python.exe为python2.exe

wsl2安装启动mysql

wsl2安装启动mysql

启动

1
sudo /etc/init.d/mysql start

配置文件

1
sudo cat /etc/mysql/debian.cnf

用户名密码就在这

1
2
3
[client]
host = localhost

复制到用户名文件夹可以免输入用户名密码

1
sudo cp /etc/mysql/debian.cnf .my.cnf

要改变文件的所有者为用户

1
sudo chown cgz .my.cnf

遇到报错

1
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

问题就是没启动

运行上面的启动命令就行

1
root 的密码: 123456
1
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
1
CREATE USER 'mufeng'@'%' IDENTIFIED BY '123456';

wsl的代理如何与主机共享

wsl的代理如何与主机共享

需要拉取docker镜像,但是curl无效

设置配置文件.wslconfig后仍然ping不通

ping,ping的是ip,用的是icmp协议,在osi七层模型中用的是第三层(网络层)

其实是curl google.com

直接得到的就是

1
2
3
4
5
6
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

用浏览器访问一下就知道了

1
curl https://www.google.com.hk/  

这个才是正确的