ruby 起动时にShellスクリプト形式の用户数据を渡して,デモアプリが动いている状态でCoreOSを稼働させる

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 起动时にShellスクリプト形式の用户数据を渡して,デモアプリが动いている状态でCoreOSを稼働させる相关的知识,希望对你有一定的参考价值。

require 'aws-sdk'

ec2 = AWS::EC2.new(
  region: 'ap-northeast-1'
)
# memo: Investigate region info.
# pp ec2.regions.map{|x| x.name}

# Set CoreOS Image ID
# Ref: https://aws.amazon.com/marketplace/ordering?productId=82b4eba9-43dc-4565-8055-15aee495e2d0
coreos = {
  US_East_Virginia:            'ami-bc03e1d4',
  US_West_Oregon:              'ami-0f67113f',
  US_West_Northern_California: 'ami-5e7f451b',
  EU_West_Ireland:             'ami-5da8692a',
  Asia_Singapore:              'ami-c4b6e496',
  Asia_Sydney:                 'ami-1d75ee27',
  Asia_Tokyo:                  'ami-89763088',
  South_America_Sao_Paulo:     'ami-3d379a20'
}[:Asia_Tokyo]

# Set shell script for initial boot
user_data = <<EOF
#!/bin/bash
docker pull innocentzero/rails-app-demo
docker run -d -p 80:3000 innocentzero/rails-app-demo
EOF

# Set SSH Keypair
key_pair_name = 'default'
key_pair = ec2.key_pairs[key_pair_name]

# Launch instance with some params
new_instance = ec2.instances.create(
  user_data: user_data,
  image_id: coreos,
  instance_type: 't1.micro',
  key_pair: key_pair
)
puts 'Instance created.'
# Add Name tag
new_instance.add_tag('Name', value: 'TestCoreOS')

# Wate for up
loop do
  if new_instance.status == :running
    puts 'Instance creation has been complete!'
    dns = new_instance.dns_name
    puts "You can access with"
    puts "ssh -i ~/.ssh/#{key_pair_name}.pem core@#{dns}"
    break
  else
    puts "Waiting ready to up...(10 sec.)"
    sleep 10
  end
end

以上是关于ruby 起动时にShellスクリプト形式の用户数据を渡して,デモアプリが动いている状态でCoreOSを稼働させる的主要内容,如果未能解决你的问题,请参考以下文章

ruby bowser search angularの结果を加工してファイルに保存する1行スクリプト。

ruby 维基百科とHatena的のキーワードファイルから仲裁处の辞书フォーマット(CSV)に変换するスクリプト。

ruby 调整さん(https://chouseisan.com/)に日付を打ち込むための补助スクリプト。それぞれの日付に「午后」「夕方」を付けています。

python Slack APIで用户のIDと名の一覧を取得して,出力するスクリプト

sh ZaifAPIのtradeAPIをシェルスクリプトで叩く

text シェルスクリプトで书いた环境変数の反映の仕方