Sfoglia il codice sorgente

更新了第92天的文档

jackfrued 6 anni fa
parent
commit
b9c18a7d43
1 ha cambiato i file con 37 aggiunte e 7 eliminazioni
  1. 37 7
      Day91-100/92.使用Docker部署应用.md

+ 37 - 7
Day91-100/92.使用Docker部署应用.md

@@ -333,19 +333,51 @@ repl_backlog_first_byte_offset:1
 repl_backlog_histlen:1988
 ```
 
-#### 运行Gitlab
+#### 运行GitLab
 
+GitLab是由GitLab Inc.开发的Git仓库管理工具,具有wiki、问题跟踪、持续集成等一系列的功能,分为社区版和企业版。通过Docker提供的虚拟化容器,我们可以安装社区版的Docker,命令如下所示。
 
+因为GitLab需要使用SSH协议进行安全连接,我们要暴露容器的22端口,所以可以先将宿主机SSH连接的22端口修改为其他端口(如:12345),然后再进行后续的操作。
 
-#### 运行Jenkins
+```Shell
+vim /etc/ssh/sshd_config
+```
 
+将其中定义端口的那行代码去掉注释并将端口修改为12345。
 
+```
+Port 12345
+```
 
-### 构建镜像
+重新启动`sshd`服务。 
 
-通过上面的讲解,我们已经掌握了如何通过官方提供的镜像来创建容器。当然如果愿意,我们也可以用配置好的容器来生成镜像。简而言之,Docker镜像是由文件系统叠加而成的,系统的最底层是bootfs,相当于就是Linux内核的引导文件系统;接下来第二层是rootfs,这一层可以是一种或多种操作系统(如Debian或Ubuntu文件系统),Docker中的rootfs是只读状态的;Docker利用联合挂载技术将各层文件系统叠加到一起,最终的文件系统会包含有底层的文件和目录,这样的文件系统就是一个镜像,如下图所示。
+```Shell
+systemctl restart sshd
+```
+
+> **提示**:修改端口后应该确保防火墙上也开启对应的端口,否则无法使用SSH连接到Linux服务器。
+
+创建需要用于数据卷映射操作的文件夹。
 
-![](./res/docker-image.png)
+```Shell
+mkdir -p /root/gitlab/config
+mkdir -p /root/gitlab/logs
+mkdir -p /root/gitlab/data
+```
+
+基于`gitlab/gitlab-ce`镜像创建容器,并暴露80端口(HTTP连接)和22端口(SSH连接)。
+
+```Shell
+docker run -d -p 80:80 -p 22:22 --name gitlab -v /root/gitlab/config:/etc/gitlab -v /root/gitlab/logs:/var/log/gitlab -v /root/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
+```
+
+> 说明:GitLab的启动比较缓慢,创建好容器后可能需要等待一段时间才能通过浏览器来进行访问。
+
+首次进入GitLab访问界面会提示我们修改管理员密码,设置好管理员密码后就可以在登录界面输入用户名`root`和刚才设置的密码登录到管理员控制台,在使用上还是非常简单和人性化的。
+
+### 构建镜像
+
+通过上面的讲解,我们已经掌握了如何通过官方提供的镜像来创建容器。当然如果愿意,我们也可以用配置好的容器来生成镜像。简而言之,Docker镜像是由文件系统叠加而成的,系统的最底层是bootfs,相当于就是Linux内核的引导文件系统;接下来第二层是rootfs,这一层可以是一种或多种操作系统(如Debian或Ubuntu文件系统),Docker中的rootfs是只读状态的;Docker利用联合挂载技术将各层文件系统叠加到一起,最终的文件系统会包含有底层的文件和目录,这样的文件系统就是一个镜像。
 
 之前我们讲过了如何查找、列出镜像和拉取(下载)镜像,接下来看看构建镜像的两种方式:
 
@@ -809,5 +841,3 @@ docker push jackfrued/webserver
    ... ...
    ```
 
-### 集群管理
-