Fish in the river

Linux
Dock

通过Docker安装MediaWiki踩坑

这是一个很奇怪的坑。 使用DockerHub中提供的DockerCompose文件安装MediaWiki。 初始化安装后一切顺利。在初始化的最后也生成了一个LocalSettings.php文件,也自动下载到了本地。 通过WinScp工具将这个文件上传到了DockerCompose.yml所在目录。 也修改了dockercompose文件,将其中的挂在LocalSettings.php的行的注释也取消掉了。 这时再去访问刚刚搭建的这个Wiki时,一直提示,LocalSettings.php找不到。一直卡在初始化安装界面。 我在主机上给LocalSettings.php文件为777的权限。但也无济于事。 最后,我想到干脆将这个文件COPY到容器的内部。没想到成功了。但是这样做按理说从起容器后,应该失效才是。所以我就重启了容器,但是它还是好的。我通过compose命令重启,也是好的。 奇怪了。 解决方案就是 进入容器内部,将主机上的这个文件Copy到容器内部。 其实还有一些验证手段,比如,将容器内部的这个文件修改一下内容,比如数据库连接参数,测试一下。它是用的容器内部还是主机上映射的。通过验证,发现并没有加载Host上的配置文件。 因为奇怪,所以记录一下。 ---------------------------------------找到问题并解决分割线-------------------------------------------------------- 找到问题了,使用DockerCompose重启Docker命令,是使用 sudo docker compose down sudo  docker compse up -d 这种情况下才会去重新加载Dockercompose.yml文件中新的配置。 sudo docker compose stop sudo docker compsoe start 这种情况下是不会重新加载dockercopose.yml文件中的配置的。只是将当前的dockercompose.yml文件中的容器重启一下而已。 还是对docker compose不熟导致的问题。 😮‍💨。

2025年1月22日 0comments 52hotness 0likes joey Read all
Dock

Docker 无法连接Docker HUB之从别人电脑上COPY镜像

如果别人电脑上已有镜像,可以直接从他的电脑上将镜像COPY到无法连接Docker HUB的电脑上来。 在已有镜像的电脑上,找到要COPY的镜像。比如nginx镜像 sudo docker save -o nginx.tar nginx:lastest 在要安装镜像的电脑上,执行导入。 sudo docker load -i nginx.tar 该命令会自己解析,不需要再做任何操作,即可将nginx镜像COPY到此电脑上了。

2025年1月2日 0comments 42hotness 0likes joey Read all
Dock

mysql 修改端口配置

因为我在一个Host主机上部署了两个mysql container.不要问我为什么要部署两个。为什么不放在一个HOST中,建立两个数据库。 是因为两个应用的所需版本不一样。 那这个时候,后安装的那个就需要改一下端口。 改端口的方法如下: 创建一个文件my-custom.cnf文件,文件内容如下: [mysqld] port=3307 在这个文件中,将mysql的端口从3306改为3307. 2. 在docker-compose中将这个文件挂载到container中。并且其他container连接到mysql时,需要变更端口号,如下图。 3.确认一下,是否成功    

2024年12月26日 0comments 44hotness 0likes joey Read all
Dock

Docker compose 使用记录

Docker compose 使用上有些基础功能需要记录一下。以免将来使用的时候又要到处去找。 一. Dokcer-compose.yml文件。当开始使用这个文件的时候,会发现同时需要有多个这个文件构建Container的时候。不知道如何操作。后来发现其实还是蛮简单的。首先,你要构建的这个应用也就是container是做什么用途的。比如是博客系统wordpress。那么我们其实首先应该在合适的方先通过sudo mkdir -p wordpress.这个命令来建立这个目录。再在这个目录下新建 docker-compose.yml文件。再使用sudo docker compose up -d.命令使得container启动即可。同理再构建比如Memos的时候,也应该先建立这个目录。再在这个目录下新建 docker-compose.yml文件。再启动container即可。这里发现没有,在不同的目录下新建 docker-compose.yml文件,同时启动container即可。不能在同一个目录下。 二.docker-compose.yml这个文件中的网络配置,一般来说,好像不配置networks这个节点。Docker-compose会自己创建一个bridge类型的网络。但是如果我们想将新建的container加入到现存的network中。需要使用externa:true进行标记。并在每个container中加入到这个网络。如下图: 三.docker-compose.yml文件中有一个volumes的设置,初一看到这个文件会比较奇怪,为会在每个container.中有使用其挂载或说映射到了内部container的一个目录。可是在实际的host主机中却并没有说明这个映射到了主机的什么目录下。这是因为,docker-compse新版本具备的一个功能,它会自行创建一个目录。不需要用户先行创建这个目录。这个目录一般可以通过sudo dokcer inspect 对应的container.得到真实的映射在主机上的目录。

2024年12月26日 0comments 37hotness 0likes joey Read all
运维技术

再再次更换云服务器

原来使用的云服务器是RackNerd家的11美元的丐版服务器。上次更换也写了一篇博客记录了一下。具体原因可见以下链接 https://www.ifish.space/2024/11/07/%e5%86%8d%e6%ac%a1%e6%9b%b4%e6%8d%a2%e6%9c%8d%e5%8a%a1%e5%99%a8/ 一直担心他们跑路。所以此次切换成亚马逊云。  

2024年12月25日 0comments 26hotness 0likes joey Read all
Dock

Docker在国内安装使用注意事项

Docker在国内使用时拉不到镜像。 辗转反侧的使用国内的加速镜像源也不行了。 左右寻找,终于寻得一法。特分享如下: 1. 登陆网站https://dockerproxy.net/ 2.打开网页后,按如下图步骤使用即可。 2024-12-22日更新: 找到一个新的下载镜像的地方,和使用上面的方法一样。 https://gallery.ecr.aws/

2024年10月16日 0comments 64hotness 0likes joey Read all
Linux

安装CentOS后的常规配置

一.关闭防火墙 1.检查防火墙状态 sudo systemctl status firewalld 输出中显示 active (running) 表示 firewalld 防火墙正在运行。 2.关闭防火墙 sudo systemctl stop firewalld sudo systemctl disable firewalld 3.再次检查防火墙状态 sudo systemctl status firewalld 检查输出是否显示 inactive,以确认防火墙已关闭。 二.永久关闭Selinux 1.检查Selinux状态 sestatus 如果显示为 enabled,则表示 SELinux 正在运行。 2.关闭Selinux 如果你想永久关闭 SELinux,需要修改配置文件。步骤如下: 2.1 sudo vi /etc/selinux/config 2.2 找到以下内容并修改 SELINUX SELINUX=enforcing SELINUX=disabled 2.3 保存后重启 3. 再次检查Selinux状态 sestatus 如果显示 disabled,表示 SELinux 已被永久关闭。 三.更改IP与DNS设置 1. 更改IP设置 nmtui 2. 更改DNS设置 vi /etc/resolv.conf

2024年10月11日 0comments 57hotness 0likes joey Read all
Linux

CentOS中安装Samba

安装好Centos后,不可避免的要和Windows系统互相传送文件。而在两个平台间传送文件最简单的方法就是在Centos平台上安装Samba服务。 以下是在Centos平台上安装Samba服务的要点概述。 1. 确保Linux防火墙关闭 sudo systemctl status firewalld sudo systemctl stop firewalld sudo systemctl disabled firewalld 2.确保Selinux功能关闭 打开/etc/sysconfig/selinux文件,设置SELINUX=0。 3.新建一个共享文件夹,比如Share。 4.安装Samba服务。 5.配置Samba的配置文件/etc/samba/smb.conf,增加以下内容。 [share] path = /home/joey/share read only = no valid users = joey 6.将当前系统中的已存在用户,添加到samba用户数据库中。注意此用户要具有在第3步中建立的共享文件夹的读写权限。 smbpasswd -a joey 最后特别注意,第二点。 我就发现,所有的Samba都配置好了,通过Windows访问时,也能看到共享的目录,但当我点击共享的目录时提示没有权限。 我当时还以为是我添加到Samba用户库中的用户,不具备对这个目录的读写权限。一通捣鼓后,发现原来是Selinux这个设置搞的鬼。 所以特别提出来说明。  

2024年8月28日 0comments 80hotness 0likes joey Read all
Dock

Ubuntu 配置国内源安装Docker和从国内源拉取镜像

无废话。 1.新建用户 sudo adduser joey 2.将新用户加入到Sudo组 sudo usermod -aG sudo joey 3.更新系统 sudo apt update sudo apt upgrade 4.更换清华的源 编辑/etc/apt/sources.list这个文件,可以先复制一份防止发生意外。 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse 5.安装Docker(社区版),如果是Ubuntu则是docker.io。如果是centos则是docker-ce sudo apt-get install -y docker.io 6.查看docker版本 sudo docker -v 7.查看docker状态 sudo systemctl status docker 8.创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 { "registry-mirrors": [ "https://ox288s4f.mirror.aliyuncs.com", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://mirror.ccs.tencentyun.com" ] } 9.重启Docker sudo systemctl daemon-reload sudo systemctl restart docker 10.拉取一个镜像测试Docker sudo docker pull hello-world 11.搜寻Docker 镜像 sudo docker search php 12.Docker-compose 下载 从Github下载太慢了,所以我放在此处下载了 docker-compose-linux-x86_64

2024年6月9日 0comments 230hotness 0likes joey Read all
Linux

在CENTOS7上安装KVM,使用NAT模式,端口映射访问KVM虚拟机

在centos7上 创建的 kvm 虚拟机,如果虚拟网络设置为 NAT 而不是 bridge 的话,从宿主机之外是没有办法直接访问的,只能在宿主机上进行连接。 这样很不方便。有人说为什么不使用bridge网络呢。如果要从宿主机之外的主机直接访问的话。原因是因为,公司只给你分配这一个IP啊。 如果想开放虚拟机的某个服务端口,比如 ssh 或者 http,可以在宿主机上设置 iptables 规则。 步骤如下: 1. 禁用centos主机的防火墙 sudo systemctl stop firewalld sudo systemctl disable firewalld 2.禁用selinux 2.1打开/etc/selinux/config 2.2找到'SELINUX='行,将它的值设置为'disabled'。 3.允许路由转发(网上很多教程都没有提到这一步) 3.1进入目录/etc/sysctl.d 3.2创建文件00-system.conf 3.3在这个文件中追加一行net.ipv4.ip_forward = 1 3.4重启生效,或者输入命令生效sudo sysctl -p 4.设置iptables规则 需要实现的是,当访问宿主机 (HOST_IP) 的特定端口 (HOST_PORT) 时,转发给指定的虚拟机端口 (GUEST_IP:GUEST_PORT)。 在宿主机上运行以下 iptables 命令: $ sudo iptables -I FORWARD -o virbr0 -p tcp -d $GUEST_IP --dport $GUEST_PORT -j ACCEPT $ sudo iptables -t nat -I PREROUTING -p tcp --dport $HOST_PORT -j DNAT --to $GUEST_IP:$GUEST_PORT 举例: KVM虚拟机的IP地址为192.168.122.162。 开放的端口为122(本来是开放端口22,但是端口22被主机占用了) 需要设置如下两条iptables规则。 sudo iptables -I FORWARD -o virbr0 -d 192.168.122.162 -p tcp --dport 122 -j ACCEPT sudo iptables -t nat -I PREROUTING -p tcp --dport 122 -j DNAT --to 192.168.122.162:122 5. 此时可以通过HOST_IP:HOST_PORT访问主机了。

2024年4月13日 0comments 110hotness 0likes joey Read all
12

近期文章

  • 你得到了什么
  • 激活windows和Windows
  • 自建KMS_SERVER激活Windows 11
  • 数据透视表
  • EXCEL 折线图 X轴显示的位置

近期评论

No comments to show.

COPYRIGHT © 2024 水中小鱼. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang