Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

废话不讲辣么多,干就完事

777

0x01 docker 换源

首先dokcer 官方仓库是搭建在国外的,所以我们需要 换源
参考博客🔗* https://blog.csdn.net/doudou_mylove/article/details/105122843 获取专属 docker 加速地址

为啥要强行修改dns 呢?可能我只是想解析的更快点吧,男人不能不行,倒是必须得快🤢

1
sudo vim /etc/docker/daemon.json
1
2
3
4
5
6
7
8
9
{
"registry-mirrors": [
"https://vipxxx.mirror.aliyuncs.com"
],
"dns": [
"223.5.5.5",
"8.8.8.8"
]
}
1
sudo systemctl restart docker docker.service

Mac docker 可以在docker desktop 设置里面修改

552b1999aa4d5a2e75352fa2f6e93d51

0x02 docker 仓库 和 容器

docker 拉取(pull) 推送(push) 的是 容器(image)

1
2
docker pull nginx:latest
docker push nginx:latest

docker 运行(run) 完成后建立的叫 容器(Apps /Containers )

1
docker run nginx:latest

2027535

0x03 docker 新建容器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker run -it \
--name cs \
-e "passwd=你的密码" \
-e "server_ip=你的服务器IP地址,可以是内网地址,比如10.0.4.6" \
-e "server_port=cs指定登陆端口" \
-e "aliasname=Bing Wallpaper" \
-e "dname=CN=www.microsoft.com, OU=Microsoft Corporation, O=Microsoft Corporation,
L=Redmond, S=WA, C=US" \
-p cs指定登陆端口:cs指定登陆端口 \
-p 云函数专用,可以是任意端口,后面443不可改变:443 \
-p 随意端口号:随意端口号 \
-p cs指定登陆端口:cs指定登陆端口/udp \
-p 云函数专用,可以是任意端口,后面443不可改变:443/udp \
-p 随意端口号:随意端口号/udp \
xrsec/cobaltstrike:none

是不是看的一头雾水?别急 看这里

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker run -it \ # 为啥要加 ‘\’ ?方便多行输入
--name cs \ # --name 指定容器名称
-e "passwd=你的密码" \ # 设置容器需要的环境变量,有点麻烦,在容器内部 echo $passwd 输出的就是 你的密码
-e "server_ip=你的服务器IP地址,可以是内网地址,比如10.0.4.6" \ # 容器内部 echo $server_ip 输出的就是你设置的IP地址
-e "server_port=cs指定登陆端口" \ # 以下忽略
-e "aliasname=Bing Wallpaper" \
-e "dname=CN=www.microsoft.com, OU=Microsoft Corporation, O=Microsoft Corporation,
L=Redmond, S=WA, C=US" \
-p cs指定登陆端口:cs指定登陆端口 \ # -p是把外部主机的端口(前面) 映射到 容器内部的端口(后面)
-p 云函数专用,可以是任意端口,后面443不可改变:443 \
-p 随意端口号:随意端口号 \
-p cs指定登陆端口:cs指定登陆端口/udp \
-p 云函数专用,可以是任意端口,后面443不可改变:443/udp \
-p 随意端口号:随意端口号/udp \
xrsec/cobaltstrike:none

居家 一个人 长发美女 美腿 沙发 4k美女壁纸3840x2160_彼岸图网

如果你们希望容器自动重启,可以设置 restart 参数

重启函数

Docker容器的重启策略如下:
no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

1
2
3
4
5
docker run -it --name test --restart=always nginx:latest # 总是重启
docker run -it --name test --restart=on-failure:3 nginx:latest # 最多重启三次
docker container update --restart=always 容器名字 # 让不能自动重启的 容器升级 成为 自动重启的 容器
docker inspect -f "{{ .RestartCount }}" 容器名字 # 查看容器重启次数
docker inspect -f "{{ .State.StartedAt }}" 容器名字 #查看容器最后一次的启动时间

新建讲完了,那我们讲一下基础维护吧

维护容器

1
2
3
4
5
6
7
8
9
10
11
12
docker images               # 查看本机Docker中存在哪些镜像
docker search images # 搜索images
docker pull images # 拉取 images
docker ps # 列出当前所有正在运行的容器
docker ps -a # 列出所有的容器
docker inspect $CONTAINER_ID(容器的ID,可以通过docker ps 查看) # 查看容器的相关信息
docker rm 容器名称 # 删除容器
docker restart 容器名称 # 重启容器
docker stop 容器名称 # 停止容器
docker start 容器名称 # 启动容器
docker logs 容器名称 # 查看容器日志报错
docker image prune -af # 删除多余镜像

掌握了这些你们就是大佬了,再学下去我就要要饭了🥴

陆萱萱 深蓝色小连衣裙 好看身材美女4k壁纸_彼岸图网

?就拿这个考验老干部?

番外篇 新建镜像

讲的比较简单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
FROM ubuntu:18.04 #
LABEL maintainer="xrsec" #
LABEL mail="Jalapeno1868@outlook.com" # 设置容器信息

RUN mkdir /awvs # 代表 新建镜像 的时候需要让 构建镜像 时的 开发工程师 创建一个文件夹 到 新建的镜像里面
COPY awvs.sh /awvs # 代表 新建镜像 的时候需要让 构建镜像 时的 开发工程师 复制awvs.sh 到 新建的镜像 新建的 awvs 文件夹里面
COPY Dockerfile /awvs # 代表 新建镜像 的时候需要让 构建镜像 时的 开发工程师 复制Dockerfile 到 新建的镜像 新建的 awvs 文件夹里面
COPY xaa /awvs #
COPY xab /awvs #
COPY xac /awvs #
COPY xad /awvs #
COPY xae /awvs #
COPY xaf /awvs #
COPY awvs_listen.zip /awvs # 以上类似

# init
# RUN cp /etc/apt/sources.list /etc/apt/sources.list.bak \
# && sed -i "s/archive.ubuntu/mirrors.aliyun/g" /etc/apt/sources.list \
# && sed -i "s/security.ubuntu/mirrors.aliyun/g" /etc/apt/sources.list \
# && apt update -y \ # 这里是害怕你们因为网络的问题下载不了软件
RUN apt update -y \
&& apt upgrade -y \
&& apt-get install wget libxdamage1 libgtk-3-0 libasound2 libnss3 libxss1 libx11-xcb-dev sudo libgbm-dev curl ncurses-bin unzip -y # 代表 新建镜像 的时候需要让 构建镜像 时的 开发工程师 运行这样一段安装软件的命令 把软件安装到 新建的镜像里面
# && apt-get install wget libxdamage1 libgtk-3-0 libasound2 libnss3 libxss1 libx11-xcb-dev sudo libgbm-dev curl ncurses-bin unzip -y \
# && mv /etc/apt/sources.list.bak /etc/apt/sources.list #

# init_install
RUN cat /awvs/xaa /awvs/xab /awvs/xac /awvs/xad /awvs/xae /awvs/xaf > /awvs/awvs_x86.sh \ # 代表 新建镜像 的时候需要让 构建镜像 时的 开发工程师 运行这样一段合并文件的命令 把文件合并到 新建的镜像的新建的 awvs 文件夹里面 并保存为 awvs_x86.sh
&& chmod 777 /awvs/awvs_x86.sh \ # 代表 新建镜像 的时候需要让 构建镜像 时的 开发工程师 运行这样一段改变文件权限的命令 怕新建的镜像运行新的容器的时候 运行不了这个脚本文件
&& sed -i "s/read -r dummy/#read -r dummy/g" /awvs/awvs_x86.sh \ # 替换awvs_x86.sh 里面的一些内容
&& sed -i "s/pager=\"more\"/pager=\"cat\"/g" /awvs/awvs_x86.sh \ #
&& sed -i "s/read -r ans/ans=yes/g" /awvs/awvs_x86.sh \ #
&& sed -i "s/read -p \" Hostname \[\$host_name\]:\" hn/hn=awvs/g" /awvs/awvs_x86.sh \ #
&& sed -i "s/host_name=\$(hostname)/host_name=awvs/g" /awvs/awvs_x86.sh \ #
&& sed -i "s/read -p \" Hostname \[\$host_name\]:\" hn/awvs/g" /awvs/awvs_x86.sh \ #
&& sed -i "s/read -p ' Email: ' master_user/master_user=awvs@awvs.com/g" /awvs/awvs_x86.sh \ #
&& sed -i "s/read -sp ' Password: ' master_password/master_password=Awvs@awvs.com/g" /awvs/awvs_x86.sh \ #
&& sed -i "s/read -sp ' Password again: ' master_password2/master_password2=Awvs@awvs.com/g" /awvs/awvs_x86.sh \ #
&& sed -i "s/systemctl/\# systemctl/g" /awvs/awvs_x86.sh \ #
&& /bin/bash /awvs/awvs_x86.sh # 初始化一下配置文件,因为awvs 不运行的话不生成文件之后激活无法进行

# init_listen
RUN chmod 777 /awvs/awvs.sh \ #
&& unzip -d /awvs/awvs_listen /awvs/awvs_listen.zip \ #
&& chmod 444 /awvs/awvs_listen/license_info.json \ #
&& cp /awvs/awvs_listen/wvsc /home/acunetix/.acunetix/v_210628104/scanner/ \ #
&& cp /awvs/awvs_listen/license_info.json /home/acunetix/.acunetix/data/license/ \ #
&& cp /awvs/awvs_listen/wa_data.dat /home/acunetix/.acunetix/data/license/ \ #
&& chown acunetix:acunetix /home/acunetix/.acunetix/data/license/wa_data.dat # 哗啦啦一套操作猛如虎

ENTRYPOINT [ "/awvs/awvs.sh"] # 设置镜像运行成为容器的时候开机要干的第一件事

EXPOSE 3443 告诉后面的兄弟记得开3443端口

# ENV TZ='Asia/Shanghai' # 设置时区以免时间问题
# ENV LANG 'zh_CN.UTF-8' # 设置中文以免乱码

STOPSIGNAL SIGQUIT # 我也不知道,嘤嘤嘤

CMD ["/awvs/awvs.sh"] # 设置镜像运行成为容器的时候开机要干的第一件事

女孩喝啤酒 飘窗 城市夜景 雨天 猫 好看唯美4k动漫壁纸_彼岸图网

小伙子,我看出来了,你以后必然是干大事业的人,带带弟弟好吗?

XRSec has the right to modify and interpret this article. If you want to reprint or disseminate this article, you must ensure the integrity of this article, including all contents such as copyright notice. Without the permission of the author, the content of this article shall not be modified or increased or decreased arbitrarily, and it shall not be used for commercial purposes in any way