Skip to content

Commit 322ca07

Browse files
authored
Merge pull request #1 from judasn/master
update from oirgin
2 parents 2ade68f + 3ddf598 commit 322ca07

14 files changed

Lines changed: 383 additions & 114 deletions

Alfresco-Install-And-Usage.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Alfresco 使用
2+
3+
## Alfresco 介绍
4+
5+
- 官网:<https://www.alfresco.com>
6+
- 开源社区版下载:<https://www.alfresco.com/alfresco-community-download>
7+
- 官网文档说明:<http://docs.alfresco.com/>
8+
- 开源社区版本安装说明:<http://docs.alfresco.com/community/concepts/master-ch-install.html>
9+
- Linux 版本安装说明:<http://docs.alfresco.com/community/tasks/simpleinstall-community-lin.html>
10+
- 我的目的:用来管理公司发布的文档,比如:Word、Excel、记事本等这类,该系统支持在线预览文件。
11+
12+
## 环境说明
13+
14+
- CentOS 7.3 带有图形桌面(需要有)
15+
- 下载下来的软件:**alfresco-community-installer-201704-linux-x64_3.bin**,大小:822M
16+
- 安装包存放目录:/opt
17+
18+
## 开始安装:
19+
20+
- 使用 Linux 桌面方式进入系统,打开终端:
21+
- 切换目录:`cd /opt`
22+
- 赋予权限:`chmod +x alfresco-community-installer-201704-linux-x64_3.bin`
23+
- `./alfresco-community-installer-201704-linux-x64_3.bin`
24+
- 然后会出现如下图这种步骤引导安装界面,带有简体中文版,选择 `简单` 的基本流程安装方式,默认都是下一步下一步。其实选择 `高级` 也基本上是下一步下一步的,只是可以看到更多细节。
25+
- 在设置管理员密码上,我是:123456(默认用户名是:admin)
26+
27+
![alfresco 安装](images/Alfresco-Install-And-Settings-a-1.jpg)
28+
![alfresco 安装](images/Alfresco-Install-And-Settings-a-2.jpg)
29+
30+
- 安装完成后,可以选择开始启动程序。建议不勾选,我们来使用下面命令。
31+
- 程序默认是安装在:**/opt/alfresco-community**
32+
- 所以我们需要打开终端:
33+
- 切换目录:`cd /opt/alfresco-community`
34+
- 启动程序:`./alfresco.sh start`
35+
- 停止程序:`./alfresco.sh stop`
36+
- 启动完成后,用浏览器打开:<http://127.0.0.1:8080/share>(如果你 Linux 防火墙关闭了,也可以直接用其他机子直接访问,把这台机子当做服务器用),可以看到如下内容:
37+
38+
![alfresco 安装](images/Alfresco-Install-And-Settings-a-3.jpg)
39+
![alfresco 安装](images/Alfresco-Install-And-Settings-a-4.jpg)
40+
41+
42+
43+
44+
45+
46+
47+

Bash-Other-Bash.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
- `rpm -qa | grep jdk`,查看 jdk 是否被安装
1313
- 卸载
1414
- `rpm -e jdk`,卸载 jdk(一般卸载的时候都要先用 rpm -qa 看下整个软件的全名)
15+
- YUM 软件管理:
16+
- `yum install -y httpd`,安装 apache
17+
- `yum remove -y httpd`,卸载 apache
18+
- `yum info -y httpd`,查看 apache 版本信息
19+
- `yum list --showduplicates httpd`,查看可以安装的版本
20+
- 更多命令可以看:<http://man.linuxde.net/yum>
1521
- 查看某个配置文件,排除掉里面以 # 开头的注释内容:
1622
- `grep '^[^#]' /etc/openvpn/server.conf`
1723
- 查看某个配置文件,排除掉里面以 # 开头和 ; 开头的注释内容:

Bash.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
- `find / -name "*tower*" -exec rm {} \;`,找到文件并删除
108108
- `du -hm --max-depth=2 | sort -nr | head -12`,找出系统中占用容量最大的前 12 个目录
109109
- `cat /etc/resolv.conf`,查看 DNS 设置
110-
- `netstat -tlunp`,查看当前运行的服务
110+
- `netstat -tlunp`,查看当前运行的服务,同时可以查看到:运行的程序已使用端口情况
111111
- `env`,查看所有系统变量
112112
- `export`,查看所有系统变量
113113
- `echo $JAVA_HOME`,查看指定系统变量的值,这里查看的是自己配置的 JAVA_HOME。

CentOS6-and-CentOS7.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@
5151
- `systemctl stop firewalld.service` #停止firewall
5252
- `systemctl disable firewalld.service` #禁止firewall开机启动
5353
- 安装 iptables
54-
- yum install -y iptables-services
54+
- `yum install -y iptables-services`
5555
- 启动 iptables
56-
- systemctl restart iptables.service #最后重启防火墙使配置生效
57-
- systemctl enable iptables.service #设置防火墙开机启动
56+
- `systemctl restart iptables.service` #最后重启防火墙使配置生效
57+
- `systemctl enable iptables.service` #设置防火墙开机启动
5858
- 其他使用照旧
5959

6060
## ifconfig 没有了

Docker-Install-And-Usage.md

Lines changed: 86 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
- 镜像:可以认为是类似 Windows 下的:XXXX.iso
1616
- 容器:容器为镜像的实例,可以认为是 Virtualbox 运行 XXXX.iso 后的效果
1717
- 官网的镜像仓库地址:<https://store.docker.com/>
18+
- 对开发来讲总结一个最简单的说法:在 Maven 未产生的年代,jar 包要随着开发项目走到哪里跟到哪里。有了 Maven 写好 pom.xml 即可。此时的 Docker 就好比如 Maven,帮你省去了开发过程中的部署环境差异,你再也不能随便说:你的系统可以运行,我的系统就不行。现在别人连系统都帮你做好了。
19+
- 玩法理念:单进程,一个容器最好最专注去做一个事情。虽然它可以既装 MySQL,又装 Nginx 等等,但是让一个容器只做好一件事是最合适的。
1820
- 其他通俗解释:
1921

2022
> Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
@@ -226,69 +228,80 @@ java -jar /root/spring-boot-my-demo.jar
226228
- `docker build`:使用 Dockerfile 创建镜像(推荐)
227229
- `docker build --rm -t runoob/ubuntu:v1 .`,参数 `-t`,表示:-tag,打标签
228230
- `docker history`:显示生成一个镜像的历史命令
229-
- `docker save`:将一个镜像保存为一个 tar 包,带 layers 和 tag 信息
230-
- `docker save 容器ID/容器名称 -o /opt/test.tar`
231-
- `docker load`:从一个 tar 包创建一个镜像
232-
加载一个tar包格式的镜像; -i, --input="" 从tar存档文件读取
231+
- `docker save`:将一个镜像保存为一个 tar 包,带 layers 和 tag 信息(导出一个镜像)
232+
- `docker save 镜像ID -o /opt/test.tar`
233+
- `docker load`:从一个 tar 包创建一个镜像(导入一个镜像)
233234
- `docker load -i /opt/test.tar`
234235

235236

236-
> 容器操作
237+
> 容器管理操作
237238

238239
- `docker ps`:列出当前所有 **正在运行** 的容器
240+
- `docker ps -a`:列出所有的容器(包含历史,即运行过的容器)
239241
- `docker ps -l`:列出最近一次启动的container
240-
- `docker ps -a`:列出所有的container(包含历史,即运行过的container)
241242
- `docker ps -q`:列出最近一次运行的container ID
242243
- `docker ps -n x`:显示最后 x 个容器,不管是正在运行或是已经停止的
243-
- `docker inspect 容器ID/容器名称`:查看容器的全面信息,用 JSON 格式输出
244-
- `docker top 容器ID/容器名称`:显示容器的进程信息
245-
- `docker attach 容器ID/容器名称`:连接到正在运行中的容器, 要attach上去的容器必须正在运行
244+
- `docker inspect 容器ID`:查看容器的全面信息,用 JSON 格式输出
245+
- 获取容器中的 IP:`docker inspect -f '{{.NetworkSettings.IPAddress}}' 容器ID`
246+
- 给容器重新设置 IP 和 子网掩码,需要在宿主上:`ifconfig 容器ID 192.168.200.1 netmask 255.255.255.0`
247+
- `docker top 容器ID`:显示容器的进程信息
246248
- `docker events`:得到 docker 服务器的实时的事件
247-
- `docker logs -f 容器ID/容器名称`:查看容器日志
248-
- `docker logs 容器ID/容器名称`,获取守护式容器的日志
249-
- `docker logs -f 容器ID/容器名称`,不断监控容器日志,类似 tail -f
250-
- `docker logs -ft 容器ID/容器名称`,在 -f 的基础上又增加 -t 表示为每条日志加上时间戳,方便调试
251-
- `docker logs --tail 10 容器ID/容器名称`,获取日志最后 10 行
252-
- `docker logs --tail 0 -f 容器ID/容器名称`,跟踪某个容器的最新日志而不必读取日志文件
249+
- `docker logs -f 容器ID`:查看容器日志
250+
- `docker logs 容器ID`,获取守护式容器的日志
251+
- `docker logs -f 容器ID`,不断监控容器日志,类似 tail -f
252+
- `docker logs -ft 容器ID`,在 -f 的基础上又增加 -t 表示为每条日志加上时间戳,方便调试
253+
- `docker logs --tail 10 容器ID`,获取日志最后 10 行
254+
- `docker logs --tail 0 -f 容器ID`,跟踪某个容器的最新日志而不必读取日志文件
253255
- `docker wait` :阻塞到一个容器,直到容器停止运行
254256
- `docker export` :将容器整个文件系统导出为一个tar包,不带layers、tag等信息
255257
- `docker port` :显示容器的端口映射
256258

257259
> 容器生命周期管理
258260

259261
- `docker run`
260-
- `docker run -i -t centos /bin/bash`,在 centos 容器下运行 shell bash。其中参数:-i -t 表示保证容器中的 STDIN 开启,并分配一个伪 tty 终端进行交互。此外常用的参数还有:--name 是给容器起了一个名字;-d 容器运行在后台。-p 8080:80 表示端口映射,将宿主机的8080端口转发到容器内的80端口。容器的名称规则:大小写字母、数字、下划线、圆点、中横线,用正则表达式来表达就是:[a-zA-Z0-9_*-]
262+
- `docker run --name myDockerNameIsGitNavi -i -t centos /bin/bash`,在 centos 容器下运行 shell bash。
263+
- `-i -t` 分别表示保证容器中的 STDIN 开启,并分配一个伪 tty 终端进行交互,这两个是合着用。
264+
- `--name` 是给容器起了一个名字(如果没有主动给名字,docker 会自动给你生成一个)容器的名称规则:大小写字母、数字、下划线、圆点、中横线,用正则表达式来表达就是:[a-zA-Z0-9_*-]
265+
- `-d` 容器运行在后台。
266+
- `-p 8080:80` 表示端口映射,将宿主机的8080端口转发到容器内的80端口。
267+
- `docker run --rm --name myDockerNameIsGitNavi -i -t centos /bin/bash`,在 centos 容器下运行 shell bash。
268+
- `--rm`,表示退出即删除容器,一般用在做实验测试的时候
261269
- `docker run --restart=always -i -t centos /bin/bash`,--restart=always 表示停止后会自动重启
262270
- `docker run --restart=on-failure:5 -i -t centos /bin/bash`,--restart=on-failure:5 表示停止后会自动重启,最多重启 5 次
263-
- `docker run -i -t -v /opt/setups/:/opt/software/ 容器ID /bin/bash`,启动容器,并进入 shell,同时挂载宿主机和容器的目录
271+
- `docker run -i -t -v /opt/setups/:/opt/software/ 镜像ID /bin/bash`,启动容器,并进入 shell,同时挂载宿主机和容器的目录
264272
- `-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录> `
265-
- `docker run -d -p 58080:8080 --name javaweb lin_javaweb:0.1 /root/run.sh`,运行容器中 Spring Boot 应用
273+
- `docker run -v /java_logs/:/opt/ -d -p 58080:8080 --name myDockerNameIsGitNavi myCustomImageName:0.1 /root/run.sh`,运行容器中 Spring Boot 应用
266274
- `-d`:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
267275
- `-p`:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
268276
- `--name`:表示容器名称,用一个有意义的名称命名即可
277+
- `docker run -d -p 58080:8080 --name myDockerNameIsGitNavi myCustomImageName:0.1 /root/run.sh`,运行容器中 Spring Boot 应用
269278
- 进入容器后退出,输入:`exit` 回车
270-
271-
272-
273279
- `docker start`,重新启动已经停止的容器
274-
- `docker start 容器ID/容器名称`
280+
- `docker start 容器ID`
281+
- `docker attach`:连接上正在运行中的容器, 被 attach 上去的容器必须正在运行的才可以
282+
- `docker attach 容器ID`:重新进入容器终端中
275283
- `docker stop`
276284
- `docker restart`
277285
- `docker kill 容器ID/容器名称`
278286
- `docker rm`,删除容器
287+
- `docker rm 容器ID`,删除指定容器(该容器必须是停止的)
288+
- `docker rm -f 容器ID`,删除指定容器(该容器可以是正在运行的)
279289
- `docker rm $(docker ps -a -q)`,删除所有容器
280290
- `docker pause/unpause`
281291
- `docker create`
282292
- `docker exec`:对守护式的容器里面执行命令,方便对正在运行的容器进行维护、监控、管理
283293
- `docker exec -i -t 容器ID/容器名称 /bin/bash`,进入正在运行的 docker 容器,并启动终端交互
284294
- `docker exec -d 容器ID/容器名称 touch /opt/test.txt`,已守护式的方式进入 docker 容器,并创建一个文件
285295
- `docker stop 容器ID/容器名称`:停止容器
286-
287-
288-
289-
容器rootfs命令
290-
291296
- `docker commit`
297+
把容器打成镜像sudo docker commit a6c28e3f1ec4 ryzebo/docker-nodejs-test:0.1
298+
a6c28e3f1ec4 是容器的id
299+
ryzebo 是你注册的https://store.docker.com/的名字,如果你没有的话,那需要先注册
300+
docker-nodejs-test 是你为该镜像起的名字
301+
:0.1 是镜像的版本号,默认是latest版本
302+
303+
在提交镜像时指定更多的数据(包括标签)来详细描述所做的修改
304+
sudo docker commit -m="A new custom image" --author="James Turnbull" 4aab3ce3cb76 jamtur01/apache2:webserver
292305
- `docker cp`:从容器里向外拷贝文件或目录
293306
- `docker cp Name:/container_path to_path`
294307
- `docker cp ID:/container_path to_path`
@@ -337,11 +350,7 @@ docker run -i -t -p 3000:3000 ubuntu:16.04 /bin/bash
337350
那就是把修改后的系统再打为iso就可以了。即,把容器再打为镜像即可。
338351
退出容器
339352
查看容器 docker ps -a
340-
把容器打成镜像sudo docker commit a6c28e3f1ec4 ryzebo/docker-nodejs-test:0.1
341-
a6c28e3f1ec4 是容器的id
342-
ryzebo 是你注册的https://store.docker.com/的名字,如果你没有的话,那需要先注册
343-
docker-nodejs-test 是你为该镜像起的名字
344-
:0.1 是镜像的版本号,默认是latest版本
353+
345354

346355
查看镜像:docker images
347356

@@ -367,12 +376,9 @@ sudo docker run -i -t ubuntu /bin/bash
367376
apt-get -yqq update
368377
apt-get -y install apache2
369378
退出当前容器
370-
提交定制容器
371-
sudo docker commit 4aab3ce3cb86 jamtur01/appache2
372379
检查新创建的镜像
373380
sudo docker images jamtur01/apache2
374-
在提交镜像时指定更多的数据(包括标签)来详细描述所做的修改
375-
sudo docker commit -m="A new custom image" --author="James Turnbull" 4aab3ce3cb76 jamtur01/apache2:webserver
381+
376382
使用docker inspect查看新创建的镜像详细信息
377383
sudo docker inspect jamtur01/apache2:webserver
378384
从提交的镜像运行一个新容器
@@ -392,6 +398,49 @@ docker run -d -p 58080:8080 --name javaweb huangyong/javaweb:0.1 /root/run.sh
392398
http://192.168.65.132:58080/
393399

394400
## Dockerfile 解释
401+
402+
403+
404+
405+
406+
## Dockerfile 部署
407+
408+
- 目标:Spring Boot 应用
409+
- CentOS 7.3
410+
- jar 名称:skb-user-0.0.1-SNAPSHOT.jar
411+
- 打算用的宿主机端口:9096
412+
- Dockerfile 文件和 jar 文件存放在宿主机目录:/opt/zch
413+
- Dockerfile 内容如下:
414+
415+
``` bash
416+
FROM java:8-jre
417+
MAINTAINER skb-user zch <gitnavi@qq.com>
418+
419+
ADD skb-user-0.0.1-SNAPSHOT.jar /usr/local/skb/user/
420+
421+
CMD ["java", "-Xmx500m", "-jar", "/usr/local/skb/user/skb-user-0.0.1-SNAPSHOT.jar", "--spring.profiles.active=test"]
422+
423+
EXPOSE 9096
424+
```
425+
426+
- 开始构建:
427+
- `cd /opt/zch`
428+
- `docker build . --tag="skb/user:v1.0.1"`
429+
- `docker run -d -p 9096:9096 -v /usr/local/logs/:/opt/ --name="skbUser1.0.0" --net=host skb/user:v1.0.1`
430+
- 查看启动后容器列表:`docker ps`
431+
- jar 应用的日志是输出在容器的 /opt 目录下,因为我们上面用了挂载,所在在我们宿主机的 /usr/local/logs 目录下可以看到输出的日志
432+
- 防火墙开放端口:
433+
- `firewall-cmd --zone=public --add-port=9096/tcp --permanent`
434+
- `firewall-cmd --reload`
435+
436+
437+
438+
439+
440+
441+
442+
443+
395444

396445
该文件名就叫Dockerfile,注意大小写,没有后缀,否则会报错。
397446

@@ -651,12 +700,10 @@ Marathon
651700
- 守护式容器:sudo docker run -d 镜像名
652701
653702
sudo docker ps 查看已经运行过容器的基本信息
654-
sudo docker inspect 容器ID:查看容器的详细信息
655703
sudo docker stop 容器ID,停止守护式容器
656704
sudo service docker restart,重启 docker 服务,当修改了 docker 相关的一些配置
657705
sudo docker rm 容器ID,删除容器
658-
获取容器中的 IP:sudo docker inspect -f '{{.NetworkSettings.IPAddress}}' 容器ID
659-
修改 docker0 这个虚拟网桥,也就是 docker 的网络服务相关信息,比如给它重新设置 IP 和 子网掩码,在宿主上:sudo ifconfig docker0 192.168.200.1 netmask 255.255.255.0
706+
660707
661708
662709
创建镜像:创建dockerfile,然后进行 build,

0 commit comments

Comments
 (0)