gpt4 book ai didi

linux - 开发环境中的Docker

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:08 25 4
gpt4 key购买 nike

我希望设置我的开发机器(一台物理机器),以便为我提供一种方法来管理运行 .NET 和 PHP 开发的需要。这相当容易,但是当我需要 Apache 和 IIS 时,问题就出现了,对于版本控制,我喜欢 gitlab ce,它在 Windows 上不起作用。所以,我的主机是win10,我用一个单独的linux box来运行我的gitlabapache

但现在那台机器已经烧坏了,我正在寻找一种在一台机器上运行所有这些的方法,因为我不想投资购买单独的机器。我正在尝试研究 Docker,因为它似乎可以解决我的问题(也不确定)。因此,我在我的 Win 10 上安装了带有 Hyper-VDocker,并且能够在 docker 中运行 CentOS容器并在 CentOs

上安装 ApacheGitLab

但是一退出centos就全没了。我知道我需要保存机器状态或 docker 客户端的状态,但我没有找到方法,或者它们对我来说理解起来相当复杂。我也没有找到一种方法,当我启动我的开发机器时,我怎样才能启动那台 CentOS 机器并使其在网络上可用。我在 docker 文档和各种博客论坛中搜索。

我的问题是:由于我现在不太了解docker,我想在上面的场景中使用它好吗?有没有更好的方法呢?如果你能帮助解决我的问题对我有好处,但如果我走对了路,就只能指导我。

哦,我不关心硬件,因为我的机器目前支持我的要求。

最佳答案

您可以在“Run GitLab on a USB Stick with Docker”中看到在 docker 容器中运行 GitLab 的示例

它使用 USB 内存棒,但您可以使用 (Windows) 主机上的文件夹。

docker-compose.yml

gitlab:  
container_name: gitlab
image: gitlab/gitlab-ce:8.5.3-ce.0
hostname: gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://127.0.0.1:8050'
gitlab_rails['gitlab_shell_ssh_port'] = 522
ports:
- "8050:8050"
- "522:22"
volumes:
- /media/elton/usb-gitlab/gitlab/config:/etc/gitlab
- /media/elton/usb-gitlab/gitlab/logs:/var/log/gitlab
- /media/elton/usb-gitlab/gitlab/data:/var/opt/gitlab
privileged: true

您可能不需要特权:true,因为您不需要访问 USB key 。
并将 /media/elton/usb-gitlab/gitlab 替换为 Windows 路径(以 /c/Users 开头为 /c/Users/yourLogin/path/to/gitlab,因为只有该文件夹会自动挂载到 boot2docker VM 中)

然后:

cd /c/Users/yourLogin/path/to/gitlab  
docker-compose up -d

在您的代码库中,您将添加:

git remote add origin ssh://git@127.0.0.1:522/<project>/<yourRepo>.git  

然后你会去 http://127.0.0.1:8050/以便查看 GitLab 网络界面。

关于linux - 开发环境中的Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35883214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com