如果别人电脑上已有镜像,可以直接从他的电脑上将镜像COPY到无法连接Docker HUB的电脑上来。 在已有镜像的电脑上,找到要COPY的镜像。比如nginx镜像 sudo docker save -o nginx.tar nginx:lastest 在要安装镜像的电脑上,执行导入。 sudo docker load -i nginx.tar 该命令会自己解析,不需要再做任何操作,即可将nginx镜像COPY到此电脑上了。
如果别人电脑上已有镜像,可以直接从他的电脑上将镜像COPY到无法连接Docker HUB的电脑上来。 在已有镜像的电脑上,找到要COPY的镜像。比如nginx镜像 sudo docker save -o nginx.tar nginx:lastest 在要安装镜像的电脑上,执行导入。 sudo docker load -i nginx.tar 该命令会自己解析,不需要再做任何操作,即可将nginx镜像COPY到此电脑上了。
因为我在一个Host主机上部署了两个mysql container.不要问我为什么要部署两个。为什么不放在一个HOST中,建立两个数据库。 是因为两个应用的所需版本不一样。 那这个时候,后安装的那个就需要改一下端口。 改端口的方法如下: 创建一个文件my-custom.cnf文件,文件内容如下: [mysqld] port=3307 在这个文件中,将mysql的端口从3306改为3307. 2. 在docker-compose中将这个文件挂载到container中。并且其他container连接到mysql时,需要变更端口号,如下图。 3.确认一下,是否成功
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.得到真实的映射在主机上的目录。
通过WordPress的管方Docker Image构建出来Container后,会发现上传会被限制在2MB。 下面我就记录一下,如何解除这个限制。 1.创建一个Wordpress.ini文件。文件内容如下: file_uploads = On memory_limit = 256M upload_max_filesize = 128M post_max_size = 128M max_execution_time = 300 max_input_time = 1000 以上通过upload_max_filesize和post_max_size两个参数来改变上传文件的大小。 2.通过 sudo docker compose stop 停止Container. 有的教程使用sudo docker compose down 来停止container。这两者的区别在于使用使用关键字Down的时候会全部初始化。所以我建议使用stop关键字。 修改Docker-compose.yml文件。修改地方如下: 3.通过以下命令重新加载Container sudo docker compose up -d 4.可以通过上传文件时的地方查看到,上传文件大小已被改变。
原来使用的云服务器是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/ 一直担心他们跑路。所以此次切换成亚马逊云。
Nginx Proxy Manager是一个强大的反向代理服务器。这里需要解释一下什么是反向代理,与之相反的是正向代理。如下图: 从它们的工作原理很容易看出对于用户来说,通过反向代理技术建立起来的技术框架更加友好。用户只需要记忆域名即可。并且对于国内家庭用户不开放80和443端口的现实背景下,显得更为重要。不说,它还有两个重要的功能,申请免费的SSL证书并自动续期。非常的友好。而且它与DOCKER配合非常友好。 下面,我们就来讲一下如何配置Nginx Proxy Manager. 安装非常简单。通过其官网的docker-compose.yml文件安装即可。 如果是使用官网的docker-compose.yml文件安装的。那么打开安装服务器的http://IP:81。即可访问Nginx Proxy Manager的配置界面。 关键的设置界面,展示如下: 分为两种情况,一种是反射到远程服务器上,一种是反射到本机的Docker容器。 如果是反向到本机的DOCKER容器,要注意在如下图片中的IP地址要填写为172.17.0.1。此点需要特别注意。 以上都要注意,要将域名解析都指向安装有NPM的主机。当然此主机要具备公网地址。
原来是用群晖架设的Docker。也是非常的方便。 不过群晖是内部使用,开放到外网,即使我开了防火墙,也是很担心。 所以又搞了一个Openwrt来安装Docker。 一.安装 我是直接在物理机上安装的Docker。我的物理机是X86架构的。所以需要从官网下载target为x86的。下载地址如下,记得下载稳定版,我下载的是测试版。里面还有些区分。一般来说只要无脑选择第一个就可以。 二.安装 将下载下来的镜像,通过解压工具,解压后得到一个img文件。使用写盘工具Etcher,将该镜像写入到硬盘。这里我是用了一个SSD硬盘,将它通过USB硬盘盒。连接到电脑。通过Etcher写入的。 三.初始化 写入完成后,将硬盘插入到电脑中。开机从该硬盘启动。如果一切顺利的话,此时应该可以看到openwrt启动了。 A. 进入系统后,通过passwd命令为root用户设置一个密码。 B.设置网络。通过vi打开/etc/config/network文件。注意要找到正确的网卡。 C.设置完成后,通过/etc/init.d/network restart。使得配置生效。 四.扩容存储。 默认情况下,img文件中只用了104M。如果为了Docker使用,需要将未使用的空间挂载到系统上。 A. 安装扩容工具 opkg update opkg install block-mount e2fsprogs fdisk blkid vim B.依次输入以下命令: fdisk -l可以看到 /dev/sda 变为 4GB 了。 fdisk /dev/sda 这边输入 m 可以查看帮助,会介绍一些命令用法 输入 n (新建分区)出现3个提示,直接回车即可。 输入 p (打印分区信息),可以看到多了一个 sda3 的分区 输入 w (写入分区信息并退出) 输入 mkfs.ext4 /dev/sda3 (格式化分区) 并复制 UUID 重启 reboot 。 配置FSTAB uci add fstab mount uci set fstab.@mount[-1].uuid=UUID #UUID改为你上面得到的值 uci set fstab.@mount[-1].options=rw,sync,noatime uci set fstab.@mount[-1].fstype=ext4 uci set fstab.@mount[-1].enabled_fsck=1 uci set fstab.@mount[-1].enabled=1 uci set fstab.@mount[-1].target=/ uci set fstab.@mount[-1].device=/dev/sda3 uci commit fstab 复制文件 mkdir /mnt/sda3 mount /dev/sda3 /mnt/sda3 mkdir -p /tmp/cproot mount --bind / /tmp/cproot tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda3 -xf - umount /tmp/cproot umount /mnt/sda3 启用引导文件 /etc/init.d/fstab enable /etc/init.d/fstab start 重启,Reboot。至此扩容完成。通过网页端能看到空间变大了。 五.安装Docker A.我这里用的是官方镜像,所有有一些库是没有的。需要自己添加一下。要不,Docker安装不上。增加这个软件包库。注意要和安装的软件版本一致。如这个斜体部分。 src/gz openwrt_kmod https://downloads.openwrt.org/releases/24.10.0-rc1/targets/x86/64/kmods/6.6.63-1-fdf628e4ac1bbb67c9c54e22238868e0 B.安装软件包 C.重启Reboot D.注意需要更换docker的镜像源,要不没有办法下载到Docker的image。 更换时,不要使用docker去创建/etc/docker/daemon.json文件,我也创建了,但是没有生效。后来我是通过网页的形式去设置的。如果镜像源没有问题。应该就好了。 镜像源测试方法。 docker pull hub.rat.dev/nginx 如果能成功的拉取到镜像,说明这个镜像源没有问题。