Docker 在开发环境中
Docker in Development Environment
我希望设置我的开发机器(一台物理机器)来为我提供一种方法来管理我对 运行ning .NET 和 PHP 开发的需求。这相当简单,但是当我需要 Apache 和 IIS 时,问题就出现了,并且对于版本控制,我喜欢 gitlab ce
,但在 windows 上不起作用。所以,我的主机是win10,我用一个单独的linux盒子来运行我的gitlab
和apache
.
但现在那台机器已经烧毁了,我正在寻找一种方法 运行 在一台机器上实现所有这些,因为我不想投资购买单独的机器。我正在尝试研究 Docker,因为它似乎可以解决我的问题(也不确定)。因此,我在我的 Win 10 上安装 Docker
和 Hyper-V
,并且能够 运行 CentOS
在 docker
容器中安装 Apache
和 GitLab
在那个 CentOs
但是一退出centos就全没了。我知道我需要保存机器状态或 docker 客户端状态,但我没有找到方法,或者它们对我来说理解起来相当复杂。我也没有找到一种方法,当我启动我的开发机器时,我怎样才能启动那台 CentOS 机器并使其在网络上可用。我正在 docker 文档和各种博客论坛中搜索。
我的问题是:由于我现在不太了解docker,我想在上面的场景中使用它好吗?有没有更好的方法呢?如果你能帮助解决我的问题对我有好处,但如果我走对了路,就只能指导我。
哦,我不关心硬件,因为我的机器目前支持我的要求。
您可以在“Run GitLab on a USB Stick with Docker”
中的 docker 容器中看到 运行 GitLab 的示例
它使用 U 盘,但您可以使用 (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 密钥。
并将 /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 网络界面。
我希望设置我的开发机器(一台物理机器)来为我提供一种方法来管理我对 运行ning .NET 和 PHP 开发的需求。这相当简单,但是当我需要 Apache 和 IIS 时,问题就出现了,并且对于版本控制,我喜欢 gitlab ce
,但在 windows 上不起作用。所以,我的主机是win10,我用一个单独的linux盒子来运行我的gitlab
和apache
.
但现在那台机器已经烧毁了,我正在寻找一种方法 运行 在一台机器上实现所有这些,因为我不想投资购买单独的机器。我正在尝试研究 Docker,因为它似乎可以解决我的问题(也不确定)。因此,我在我的 Win 10 上安装 Docker
和 Hyper-V
,并且能够 运行 CentOS
在 docker
容器中安装 Apache
和 GitLab
在那个 CentOs
但是一退出centos就全没了。我知道我需要保存机器状态或 docker 客户端状态,但我没有找到方法,或者它们对我来说理解起来相当复杂。我也没有找到一种方法,当我启动我的开发机器时,我怎样才能启动那台 CentOS 机器并使其在网络上可用。我正在 docker 文档和各种博客论坛中搜索。
我的问题是:由于我现在不太了解docker,我想在上面的场景中使用它好吗?有没有更好的方法呢?如果你能帮助解决我的问题对我有好处,但如果我走对了路,就只能指导我。
哦,我不关心硬件,因为我的机器目前支持我的要求。
您可以在“Run GitLab on a USB Stick with Docker”
中的 docker 容器中看到 运行 GitLab 的示例它使用 U 盘,但您可以使用 (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 密钥。
并将 /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 网络界面。