質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

apt-get

apt-getコマンドはUNIX系OSのパッケージのインストールなど、パッケージ管理を行うためのコマンドです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

4090閲覧

DockerコンテナにSmartyをインストールする方法について

chibi_kuma

総合スコア85

Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

apt-get

apt-getコマンドはUNIX系OSのパッケージのインストールなど、パッケージ管理を行うためのコマンドです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/06/30 09:32

編集2021/07/01 06:31

Dockerの勉強を始めたばかりの者です。

環境は、以下の通りです。
Windows10 Home
Docker Desktop for Windows(最新版)

Smarty3を、Dockerコンテナにインストールしたくて、
以下のようなDockerfileを作成しました。

とりあえず、Apacheと同じコンテナにあればいいのかなと思って、
ここに追加してみました。(正しいかどうかはよくわからない)

Dockerfile

1From php:7.4.20-apache 2 3# smarty3 インストール 4RUN apt-get update && apt-get install -y smarty3\ 5 && rm -rf /var/lib/apt/lists/*

このDockerfileをビルドすると、
以下のエラーが出て、Smarty3のインストールが出来ません。

PowerShell

1~略~ 2 3 => ERROR [2/2] RUN apt-get update && apt-get install -y smarty3 4.5s 4------ 5 > [2/2] RUN apt-get update && apt-get install -y smarty3: 6#6 0.418 Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB] 7#6 0.456 Get:2 http://deb.debian.org/debian buster InRelease [122 kB] 8#6 0.723 Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB] 9#6 1.553 Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [15.2 kB] 10#6 2.735 Fetched 8453 kB in 2s (3478 kB/s) 11#6 2.735 Reading package lists... 12#6 3.435 Reading package lists... 13#6 4.089 Building dependency tree... 14#6 4.217 Reading state information... 15#6 4.276 Some packages could not be installed. This may mean that you have 16#6 4.276 requested an impossible situation or if you are using the unstable 17#6 4.276 distribution that some required packages have not yet been created 18#6 4.276 or been moved out of Incoming. 19#6 4.276 The following information may help to resolve the situation: 20#6 4.276 21#6 4.276 The following packages have unmet dependencies: 22#6 4.363 smarty3 : Depends: php or 23#6 4.363 php-cgi or 24#6 4.363 php-cli 25#6 4.363 Depends: php-common but it is not installable 26#6 4.373 E: Unable to correct problems, you have held broken packages. 27------ 28executor failed running [/bin/sh -c apt-get update && apt-get install -y smarty3]: exit code: 100

どうしたら、Smarty3をインストールできるでしょうか?
そもそも、apt-get installでいいのかも自信がありません。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

composerを使って入れるか、ダウンロードしてディレクトリに配置するかです

DL先
ファイルの配置は、コマンドの例を参考にするか、またはボリュームマウントしているならマウントしたディレクトリにDLしたsmartyのファイル展開をする事

composerがよく分からなければDLして配置すれば良いかと思われます

投稿2021/06/30 09:53

hentaiman

総合スコア6426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chibi_kuma

2021/07/01 06:30

hentaimanさん、いつもご教授ありがとうございます。 最新のsmartyを公式からダウンロードしてきたら、展開した圧縮ファイルの中に 「composer.json」が同梱されていたので、composerでやろうかと思ったのですが、 以下の理由から、コピーでやることにしました。 ・composerを使う程、依存関係が複雑なシステムでない ・composerだとVenderフォルダにSmartyフォルダがコピーされ、現行サーバー環境とパスが合わない Dockerfileに、以下のように書くだけで、 ホスト側に置いておいたlibフォルダ(ここにSmarty/libsフォルダが入ってる)を、 コンテナ側の/var/www/lib/にコピーすることが出来ました。 # Smartyライブラリをコンテナにコピー COPY lib/ /var/www/lib/ Smartyのテストプログラムも無事動きました。 composerでも、いずれ挑戦してみたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問