2016-12-14 18 views
-1

javaを以下のシェフレシピを使用してコンテナ内にインストールしようとしています。エラーは発生しませんでしたが、コンテナにログインするとjavaがインストールされているのを確認できませんでした.Docker_execに問題があることがわかりました。docker_execのコマンドがフロントエンドに反映されていません

docker_image node['chef-docker']['docker-platform'] do 
    tag 'latest' 
    action :pull 
end 

docker_container node['chef-docker']['container-name'] do 
    repo node['chef-docker']['container-repo'] 
    command '/bin/bash' 
    port '1234:1234' 
    tty true 
    action :run 
    end  
**docker_exec 'install-jenkins' do 
    container 'First' 
    command ['yum -y install java'] 
    end** 

ログを支援し、コマンドが最後にこれが達成された

[[email protected] ~]# **chef-client -r recipe[chef-docker::default]** 
Starting Chef Client, version 12.16.42 
resolving cookbooks for run list: ["chef-docker::default"] 
Synchronizing Cookbooks: 
    - chef-docker (0.1.0) 
    - docker (2.9.6) 
    - compat_resource (12.14.7) 
    - openssh (2.1.0) 
    - iptables (1.0.0) 
Installing Cookbook Gems: 
Compiling Cookbooks... 
Converging 4 resources 
Recipe: chef-docker::default 
    * docker_service[default] action create 
    * docker_installation_script[default] action create 
     * yum_package[curl] action install (up to date) 
     * execute[install docker] action run (up to date) 
     (up to date) 
    (up to date) 
    * docker_service[default] action start 
    * docker_service_manager_sysvinit_rhel[default] action start 
     * directory[/usr/libexec/docker] action create (up to date) 
     * template[/usr/libexec/docker/docker-wait-ready] action create (up to date) 
     * execute[groupadd docker] action run (skipped due to not_if) 
     * link[/usr/bin/docker] action create (skipped due to not_if) 
     * template[/etc/init.d/docker] action create (up to date) 
     * template[/etc/sysconfig/docker] action create (up to date) 
     * service[docker] action enable (up to date) 
     * service[docker] action start (up to date) 
     (up to date) 
    (up to date) 
    * docker_image[centos] action pull (up to date) 
    * docker_container[First] action run 
    - create First 
    - set container_name    to "First" (default value) 
    - set repo      to "centos" 
    - set tag       to "latest" (default value) 
    - set command      to "/bin/bash" 
    . 
    . 
    . 

    - set volumes_binds    to nil (default value) 
    - starting First 
    * docker_exec[install-jenkins] action run 
    *- executing ["yum -y install java"] on First* 

Running handlers: 
Running handlers complete 
Chef Client finished, 2/17 resources updated in 11 seconds 
[[email protected] ~]# docker ps -a 
CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS     PORTS     NAMES 
4bfcf1f8b52c  centos:latest  "/bin/bash"   7 seconds ago  Up 5 seconds    0.0.0.0:1234->1234/tcp First 
94621e057a21  jpetazzo/nsenter "/bin/sh -c /install 26 hours ago  Exited (0) 26 hours ago       pensive_goldstine 
[[email protected] ~]# docker exec -it 4bfcf1f8b52c /bin/bash 
[[email protected] /]# java -version 
bash: java: command not found 
[[email protected] /]# 
+0

同じ質問を繰り返し繰り返してください。 – coderanger

+0

@coderanger私はこの解決策を見つけることができません。だから私はこれを達成するためにさまざまな方法を試しています。あなたがplzより私を助けることができる場合に。 – Kally

+0

これはDockerの目的ではないことを何度も聞いたことがあります。 – coderanger

答えて

0

を実行してください。

# 
# Cookbook Name:: chef-docker 
# Recipe:: default 
# 
# Copyright 2016, 
# 
# All rights reserved - Do Not Redistribute 
# 
docker_service 'default' do 
    action [:create, :start] 
end 
# Pull latest image 
docker_image node['chef-docker']['docker_platform'] do 
    tag 'latest' 
    action :pull 
end 
# Run container 
docker_container node['chef-docker']['container_name'] do 
    repo node['chef-docker']['container_repo'] 
    tag 'latest' 
    command '/bin/bash' 
    port '8080:8080' 
    tty true 
    privileged false 
    action :run 
end 

execute 'Install wget' do 
command "docker exec -i #{node['chef-docker']['container_name']} /bin/bash -c 'yum -y install wget'" 
action:run 
end 

execute 'pull jenkins.sh script from github' do 
command "docker exec -i #{node['chef-docker']['container_name']} /bin/bash -c 'wget -k -P/tmp/ https://github.com/rahulkumardbit/Products/raw/master/jenkins-centos-7.sh'" 
action:run 
end 

execute 'Setting permission to Jenkins.sh file' do 
command "docker exec -i #{node['chef-docker']['container_name']} /bin/bash -c 'cd /tmp && chmod +x jenkins-centos-7.sh'" 
action:run 
end 

execute 'Jenkins install' do 
command "docker exec -i #{node['chef-docker']['container_name']} /bin/bash -c 'cd /tmp && ./jenkins-centos-7.sh'" 
action:run 
end 
関連する問題