Apakah mungkin untuk membangun gambar dari Dockerfile dan menjalankannya dengan satu perintah?
Ada satu perintah docker build
untuk membangun Dockerfile dan docker run -it
menjalankan gambar.
Apakah ada kombinasi dari kedua perintah ini untuk membuatnya lebih mudah untuk dibangun dan dijalankan hanya dengan satu perintah?
docker
dockerfile
Kelip
sumber
sumber
Jawaban:
Tidak, tidak ada perintah tunggal. Tetapi jika Anda memberi tag pada gambar saat Anda membuatnya, akan lebih mudah dijalankan:
sumber
docker rmi foo
.Jika Anda ingin menghindari pemberian tag,
docker build -q
tidak menghasilkan apa-apa selain hash gambar akhir , yang dapat Anda gunakan sebagai argumen untukdocker run
:Dan tambahkan
--rm
kedocker run
jika Anda ingin wadah dihapus secara otomatis ketika keluar.sumber
docker build
: /-q
pilihan. Untuk membuatnya senyap, untuk hanya menghasilkan tag yang dibuat secara otomatis. Dan itu saja. Jangan ragu untuk mengubah stdin itu sesuka Anda.docker build . | tee /dev/tty | tail -n1 | cut -d' ' -f3 | xargs -I{} docker run --rm {}
Jika Anda menggunakan Makefile, saya menemukan potongan ini berguna:
Anda tidak perlu memberi tag, seperti pada @ jonathon-reinhart jawaban, tetapi Anda juga mendapatkan hasil build.
sumber
Saya menggunakan docker-compose untuk kenyamanan ini karena sebagian besar aplikasi yang saya bangun berbicara dengan layanan eksternal cepat atau lambat, jadi jika saya tetap akan menggunakannya, mengapa tidak menggunakannya dari awal. Hanya perlu docker-compose.yml sebagai:
dan kemudian jalankan aplikasi dengan:
Ini akan membangun kembali gambar atau menggunakan kembali wadah tergantung jika ada perubahan pada definisi gambar.
sumber
PC Windows
Buat
run.bat
file. Kemudian dalam file tambahkan ini:Untuk menjalankan file menggunakan powershell atau cmd, lakukan ini:
sumber
docker-build-and-run
Saya telah membuat perintah pembantu kecil untuk membangun dan menjalankan, dalam satu perintah. Di Linux atau Mac, Anda dapat menambahkan ini ke Anda
~/.bash_profile
untuk membuatnya tersedia di Terminal.Pemakaian:
Contoh:
Naskah:
Tambahkan ini ke
.sh
file, atau tambahkan ke~/.bash_profile
:sumber
Anda juga dapat melakukan
docker build
dan mem-pipe nama gambar yang akan di-output kedocker run
:docker build
akan memberi Anda teks multi-baris... Successfully built 18e77bc0d83a
tail -n1
' '
dan dapatkan3
kata dengancut -d' ' -f3
run
denganxargs -I{} docker run {}
sumber
| tee /dev/tty
setelahdocker build .
untuk mendapatkan hasil lengkap!Bagi siapa pun yang mencari solusi yang dapat digunakan kembali, Anda dapat menginstal plugin buruh pelabuhan ini yang saya buat: https://github.com/stasmihailov/docker-script
Maka Anda bisa membangun dan menjalankan Dockerfile sebagai berikut:
sumber