📰Dockerfile

Unexpected error with integration github-files: Integration is not installed on this space

Dockerfile

#参考サイト: https://qiita.com/gon0821/items/f9e3bcbb6cb01d4ef7fa
#参考サイト: https://qiita.com/FumiyaShibusawa/items/a0be39d28139a044157d
#参考サイト: https://zenn.dev/suiudou/articles/4cde9ffd2024dc
#参考サイト: https://www.wakuwakubank.com/posts/270-docker-build-image/#index_id11
#参考サイト: https://qiita.com/kubocchi/items/dee7498ec2dabacc503f

#Rに関する参考サイト: https://qiita.com/naozo-se/items/0ecbe0b6b5a6547776a7

#* ベースイメージの指定
# Docker hub: https://hub.docker.com/
# FROM <image>:<tag>
FROM ubuntu:22.04

#* metaデータの追加
#LABEL <key>=<value]>LABEL maintainer="Yuki Osada"
LABEL version="0.0.1"
LABEL description="Hello, World"
LABEL key="value"

#* コンテナ内でのユーザー/グループ名の指定
#USER <username>
USER root

#* docker build 時に指定する変数の指定
#docker build --build-arg 変数名=値 で指定できる
#ARG <valiable name> = <default value>
#デフォルトバリューを指定しておくと、作業する人が変数名を指定しなくてよくなる
ARG SAMPLE_VALIABLE = "HelloWorld"
ARG START_MSG = "Start this container."

#* 作業ディレクトリの指定
#WORDDIR <directory path>
WORKDIR /home

#* docker run 時に実行される実行可能ファイルの指定
#ENTRYPOINT ["<実行可能なもの>", "<パラメータ1>", "<パラメータ2>"]

#* ビdocker build 時に実行するコマンドの指定
#各 RUN コマンドごとにレイヤーが作成される。
#できるだけ RUN コマンドは少ない方がいい (レイヤー数に限りがあるため)
#RUN <コマンド>
#RUN ["<実行バイナリ>", "<パラメータ1>", "<パラメータ2>"]
#Rのpackageのinstallは、R -e 'install.packages("package name")'でできるはず!
RUN  apt update && apt upgrade -y \
    && apt install r-base \
    && R -e 'install.packages("plumber")' \
    && echo $SAMPLE_VALIABLE

#* docker run 時に実行するコマンドの指定
#CMD <コマンド>
#CMD ["<実行バイナリ>", "<パラメータ1>", "<パラメータ2>"]
CMD echo $START_MSG

#* 開放するポートの指定
#ポートの公開をするのではなく、ドキュメンテーションの役割を果たしている
#docker run時に -p オプションをつけるとexposeしたportを公開することができる
#EXPOSE <port>
EXPOSE 8000

Dockerfile (python)

FROM python:3.9

WORKDIR /code
COPY ./requirements.txt /code/requirements.txt

RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt

Docker imageの作成

docker build -t name:tag 相対パス

参考サイト

Rに関する参考サイト

Last updated