AISYUN's Blog

学习、笔记、分享

一、导入、导出容器

1、导出某个容器

​ 导出某个容器,非常简单,使用docker export命令,语法:docker export $container_id > 容器快照名
img
导出后在本地可以看到有一个centos.tar的容器快照。

2、导入某个容器

docker import 命令

阅读全文 »

Docker把存储占满了?怎么办,教你两个秘籍,通过prune或迁移overlay2

前言

很多开发朋友,在使用docker的时候,经常下载镜像,镜像打标签,然后不清理无用的镜像,久而久之,docker就会把宿主机的磁盘空间占满,这个时候要怎么办?教你两个秘籍,通过docker自带的prune命令或者迁移docker下的overlay2文件夹。

不懂怎么操作?那就跟着奇想派进行实操吧!

方法1:清理docker空间,通过prune

阅读全文 »

因为本人习惯用docker跑服务,所以对于frp的内网穿透服务我使用的也是docker。

frp在github上的项目地址为:https://github.com/fatedier/frp,里面有相关文档,可以参考配置。由于我使用的docker,自己做了个简单的记录。

frp的docker项目的服务器端和客户端是独立的,地址分别为:https://hub.docker.com/r/snowdreamtech/frps和https://hub.docker.com/r/snowdreamtech/frpc,文档说明地址为:https://gofrp.org/docs/。

先安装服务器端的frp,这台服务器在公网中,作为内网穿透的服务器。

拉取镜像:

阅读全文 »

Wire-Guard部署安装

一、独立手动部署

二、Docker部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
docker run -d \
--name=wg-easy \
-e WG_HOST=123.123.123.1 (🚨这里输入服务器的公网IP) \
-e PASSWORD=passwd123 (🚨这里输入你的密码) \
-e WG_DEFAULT_ADDRESS=10.0.8.x (🚨默认IP地址)\
-e WG_DEFAULT_DNS=114.114.114.114 (🚨默认DNS)\
-e WG_ALLOWED_IPS=10.0.8.0/24 (🚨允许连接的IP段)\
-e WG_PERSISTENT_KEEPALIVE=25 (🚨重连间隔)\
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
docker run -d \
--name=wg-easy \
-e WG_HOST=150.230.99.7 \
-e PASSWORD=guard123 \
-e WG_DEFAULT_ADDRESS=100.100.100.x \
-e WG_DEFAULT_DNS=8.8.8.8,223.5.5.5 \
-e WG_ALLOWED_IPS=100.100.100.0/24,192.168.1.0/24 \
-e WG_PERSISTENT_KEEPALIVE=25 \
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy
阅读全文 »

使用docker创建了一个容器后,进入到容器内部,你会发现很多常规命令都无法使用,比如我要用ping来查看一下网络是否畅通,会遇到这样的情况:

1
2
root@7c8a4089cdff:/$ ping www.baidu.com
bash: ping: command not found

此时就需要自己简单处理一下了,因为容器都是一个最精简系统,额外的东西都自己安装。

首先更新一下源:

1
root@7c8a4089cdff:/$ apt-get update
阅读全文 »

一、为系统设置代理

编辑文件/etc/profile,增加如下两行

1
2
export http_proxy=http://proxy.com:8080/
export https_proxy=http://proxy.com:8080/

然后更新一下环境文件:

1
source /etc/profile
阅读全文 »

在宿主主机中使用docker,拉取镜像和建立容器,时间长了可能会造成磁盘紧张,这时候可能需要进行清理一些无用的docker数据。在数据清理方面,docker自身提供了很好的清理和管理方式,下面简单介绍一下。

首先,我们可以查看Docker磁盘空间的占用情况:

1
2
3
4
5
6
[root@server]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 5 5 1.046GB 69.22MB (6%)
Containers 5 5 290.6kB 0B (0%)
Local Volumes 3 1 413.1MB 219.5MB (53%)
Build Cache 0 0 0B 0B

更详细的查看使用参数-v:

1
[root@server]# docker system df -v
阅读全文 »

一、镜像的操作:

1、在仓库搜索镜像:docker search [OPTIONS] IMAGE

1
2
3
4
5
6
7
8
#搜索镜像
[root@server ~]$ docker search ubuntu
#搜索大于30颗star的镜像
[root@server ~]$ docker search --filter stars=30 ubuntu
#搜索自动化构建的镜像
[root@server ~]$ docker search --filter is-automated=true ubuntu
#搜索官方且大于30颗star的镜像
[root@server ~]$ docker search --filter is-official=true --filter stars=30 ubuntu

2、从仓库拉取镜像:docker pull IMAGE[:TAG]

1
[root@server ~]$ docker pull ubuntu:18.04
阅读全文 »

安装docker时,docker会默认创建一个内部的bridge网络docker0,每创建一个容器分配一个虚拟网卡,容器之间可以根据ip互相访问,且只能通过ip进行通讯。

在这种情况下,不能保证容器自动分配的ip地址不变,为了能通讯方便,我们可以再创建一个bridge网络,通过容器名来进行通讯。

1、创建网络:

首先我们创建一个自定义的bridge网络,名字为DockerNet:

1
[root@server ~]# docker network create DockerNet
阅读全文 »
0%