Apakah ada cara saya dapat menjalankan skrip bash di dalam wadah dan kemudian menghapus wadah, semuanya dalam satu baris? Skrip harus dapat menulis ke folder tempat saat ini berada.
Saya sudah mencoba
docker run --rm -ti ubuntu:trusty bash -c 'source runme.sh'
tetapi bash tidak dapat menemukan file, saya berasumsi karena wadah tidak memiliki akses ke folder tempat skrip berada.
Jika skrip tidak tersedia di dalam wadah, Anda perlu memasang skrip sebagai volume di dalam wadah:
$ cat << EOF > sample_script.shecho 'Hello, world'EOF
Jalankan wadah docker sebagai berikut (di sini, /path/to/sample_script.sh
adalah jalan di host):
$ docker run -v /path/to/sample_script.sh:/sample_script.sh \ --rm ubuntu bash sample_script.shHello, world
Wadah akan dihapus setelah eksekusi. Catatan Anda tidak perlu menjalankannya secara interaktif, output standar akan ditampilkan.
The docker run referensi memiliki rincian tentang menggunakan volume dengan cara ini.
Jika yang ingin Anda lakukan hanyalah menjalankan skrip, Anda bisa menggunakan bash untuk membaca skrip dari stdin.
sample_script.sh < docker run --rm -i ubuntu bash -c 'source /dev/stdin'