我目前正在学习 Docker,并制作了一个简单易用的 Docker Compose 设置。 3 个容器,都有自己的 Dockerfile 设置。我如何才能将其转换为在 CoreOS 上工作,以便稍后设置集群?
web:
build: ./app
ports:
- "3030:3000"
links:
- "redis"
newrelic:
build: ./newrelic
links:
- "redis"
redis:
build: ./redis
ports:
- "6379:6379"
volumes:
- /data/redis:/data
最佳答案
取自 https://docs.docker.com/compose/install/
唯一的问题是/usr 是只读的,但/opt/bin 是可写的并且在路径中,所以:
sd-xx~ # mkdir /opt/
sd-xx~ # mkdir /opt/bin
sd-xx~ # curl -L https://github.com/docker/compose/releases/download/1.3.3/docker-compose-`uname -s`-`uname -m` > /opt/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 403 0 403 0 0 1076 0 --:--:-- --:--:-- --:--:-- 1080
100 7990k 100 7990k 0 0 2137k 0 0:00:03 0:00:03 --:--:-- 3176k
sd-xx~ # chmod +x /opt/bin/docker-compose
sd-xx~ # docker-compose
Define and run multi-container applications with Docker.
Usage:
docker-compose [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options:
-f, --file FILE Specify an alternate compose file (default: docker-compose.yml)
-p, --project-name NAME Specify an alternate project name (default: directory name)
--verbose Show more output
-v, --version Print version and exit
Commands:
build Build or rebuild services
help Get help on a command
kill Kill containers
logs View output from containers
port Print the public port for a port binding
ps List containers
pull Pulls service images
restart Restart services
rm Remove stopped containers
run Run a one-off command
scale Set number of containers for a service
start Start services
stop Stop services
up Create and start containers
migrate-to-labels Recreate containers to add labels
关于Docker Compose 到 CoreOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29086918/
我正在尝试使用Terraform配置我的CoreOS服务器,使用cloud-configfileforCoreOS.我目前正在尝试在Docker容器中设置Mongo数据库。这是我的配置文件:write_files:-path:"/home/core/keyfile"permissions:"0600"owner:"999"content:|hUoQVrERB0***coreos:units:-name:"dockerstart.service"command:"start"content:|[Unit]Description=StartAuthor=Me[Service]Restart
我希望有一个我正在构建的应用程序在CoreOS集群上运行。当CoreOS更新自身时,它必须在安装更新/切换分区时重新启动一小段时间。我的问题是如何在更新操作系统时让MySQL保持“事件状态”?我猜这是通过某种集群配置实现的?但是当master宕机时会发生什么?我一直在谷歌上搜索这个无济于事。 最佳答案 这是一个相当宽泛的话题。我建议你看看MySQLreplication.这使您能够重新启动机器而不会失去对MySQL的访问权限。MySQL复制使您能够在多台服务器上运行MySQL,如果其中一台服务器出现故障,其余服务器将接管。如果主实例
文章目录0.安装Docker1.CentOS安装Docker1.1.卸载(可选)1.2.安装docker1.3.启动docker1.4.配置镜像加速2.CentOS7安装DockerCompose2.1.下载2.2.修改文件权限2.3.Base自动补全命令:3.Docker镜像仓库3.1.简化版镜像仓库3.2.带有图形化界面版本3.3.配置Docker信任地址0.安装DockerDocker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月),EE即企业版,强调安全,付费使用,支持周期24个月。DockerCE分为stabletest和nightly三个更新频道。官方网站上有各种环境下
文章目录0.安装Docker1.CentOS安装Docker1.1.卸载(可选)1.2.安装docker1.3.启动docker1.4.配置镜像加速2.CentOS7安装DockerCompose2.1.下载2.2.修改文件权限2.3.Base自动补全命令:3.Docker镜像仓库3.1.简化版镜像仓库3.2.带有图形化界面版本3.3.配置Docker信任地址0.安装DockerDocker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月),EE即企业版,强调安全,付费使用,支持周期24个月。DockerCE分为stabletest和nightly三个更新频道。官方网站上有各种环境下
我有一个使用aws-sdk-go与dynamodb对话的Go程序。依赖项已出售。转到版本1.7.1。aws-sdk-go版本1.6.24。该程序在以下所有环境中都按预期工作:来自shell(ArchLinux)的开发框在我的开发箱上运行的docker容器(Docker1.13.1)来自shell(Ubuntu16.04)的Ec2实例当我在kubernetes上运行docker容器时(我在我的开发箱上测试过的那个容器),我收到以下错误:2017/03/0222:30:13DEBUGERROR:Requestdynamodb/GetItem:---[REQUESTDUMPERROR]---
我有一个使用aws-sdk-go与dynamodb对话的Go程序。依赖项已出售。转到版本1.7.1。aws-sdk-go版本1.6.24。该程序在以下所有环境中都按预期工作:来自shell(ArchLinux)的开发框在我的开发箱上运行的docker容器(Docker1.13.1)来自shell(Ubuntu16.04)的Ec2实例当我在kubernetes上运行docker容器时(我在我的开发箱上测试过的那个容器),我收到以下错误:2017/03/0222:30:13DEBUGERROR:Requestdynamodb/GetItem:---[REQUESTDUMPERROR]---
我有一个运行3个Web容器的coreos集群,每个容器运行同一个Web应用程序。如何使用haproxy和nginx对这些正在运行的容器的请求进行负载平衡。请提出建议。 最佳答案 我建议你仔细看看vulcand,它是一个在coreos上运行的反向代理,旨在对运行在coreos上的容器之间的http请求进行负载平衡:VulcandisareverseproxyforHTTPAPImanagementandmicroservices.ItisinspiredbyHystrix.ItusesEtcdasaconfigurationbacke
我有一个运行3个Web容器的coreos集群,每个容器运行同一个Web应用程序。如何使用haproxy和nginx对这些正在运行的容器的请求进行负载平衡。请提出建议。 最佳答案 我建议你仔细看看vulcand,它是一个在coreos上运行的反向代理,旨在对运行在coreos上的容器之间的http请求进行负载平衡:VulcandisareverseproxyforHTTPAPImanagementandmicroservices.ItisinspiredbyHystrix.ItusesEtcdasaconfigurationbacke
我正在尝试在EC2中一个全新的coreos集群上使用舰队部署nsqlookupd。这是我的systemd单元文件:[Unit]Description=nsqlookupdserviceAfter=docker.serviceRequires=docker.service[Service]EnvironmentFile=/etc/environmentExecStartPre=-/usr/bin/dockerkillnsqlookupdExecStartPre=-/usr/bin/dockerrmnsqlookupdExecStart=/usr/bin/dockerrun-d--name
我正在尝试在EC2中一个全新的coreos集群上使用舰队部署nsqlookupd。这是我的systemd单元文件:[Unit]Description=nsqlookupdserviceAfter=docker.serviceRequires=docker.service[Service]EnvironmentFile=/etc/environmentExecStartPre=-/usr/bin/dockerkillnsqlookupdExecStartPre=-/usr/bin/dockerrmnsqlookupdExecStart=/usr/bin/dockerrun-d--name