Jawaban:
Cara spesifik untuk menjalankannya tergantung pada apakah Anda memberi tag / nama atau tidak.
$ docker images
REPOSITORY TAG ID CREATED SIZE
ubuntu 12.04 8dbd9e392a96 4 months ago 131.5 MB (virtual 131.5 MB)
Dengan sebuah nama (mari kita gunakan Ubuntu ):
$ docker run -i -t ubuntu:12.04 /bin/bash
Tanpa nama, cukup gunakan ID:
$ docker run -i -t 8dbd9e392a96 /bin/bash
Silakan lihat referensi run Docker untuk informasi lebih lanjut.
docker ps
daftar kontainer, bukan gambar. Jika Anda ingin membuat gambar dari sebuah wadah, Anda harus docker commit
. Anda dapat menggunakan NAME di komit (mis. docker commit _NAME_ _imagename_
)
Lakukan langkah-langkah berikut:
$ docker images
Anda akan mendapatkan daftar semua gambar Docker lokal dengan tag yang ditentukan.
$ docker run image_name:tag_name
Jika Anda tidak menentukannya tag_name
akan secara otomatis menjalankan gambar dengan tag 'terbaru'.
Alih-alih image_name
, Anda juga dapat menentukan ID gambar (tanpa tag_name).
Untuk membuat daftar gambar Docker
$ docker images
Jika aplikasi Anda ingin dijalankan dengan port 80, dan Anda dapat mengekspos port lain untuk mengikat secara lokal, katakanlah 8080:
$ docker run -d --restart=always -p 8080:80 image_name:version
Anda dapat melihat gambar yang tersedia menggunakan:
docker images
Kemudian Anda dapat menjalankan dalam mode terpisah sehingga terminal Anda masih dapat digunakan. Anda memiliki beberapa opsi untuk menjalankannya menggunakan nama repositori (dengan atau tanpa tag) atau ID gambar:
docker run -d repository
docker run -d repository:tag
docker run -d image_id
Kemudian Anda dapat memeriksa wadah Anda sedang berjalan menggunakan
docker ps
docker ps
memberi Anda ID kontainer. Anda dapat menggunakannya atau hanya 2/3 karakter pertama untuk masuk ke wadah Anda menggunakan:
docker exec -it container_id /bin/bash
Dan Anda dapat menghentikannya menggunakan docker stop container_id
dan docker rm container_id
.
Anda juga dapat menjalankan wadah Anda dengan -rm
argumen sehingga jika Anda menghentikan wadah Anda itu akan dihapus secara otomatis.
Dapatkan nama atau id dari gambar yang ingin Anda jalankan, dengan perintah ini:
docker images
Perintah run Docker digunakan dengan cara berikut:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Di bawah ini saya telah menyertakan opsi pengiriman, nama, publikasi, volume dan mulai ulang sebelum menentukan nama gambar atau id:
docker run -d --name container-name -p localhost:80:80 -v $HOME/myContainer/configDir:/myImage/configDir --restart=always image-name
Dimana:
--detach , -d Run container in background and print container ID
--name Assign a name to the container
--publish , -p Publish a container’s port(s) to the host
--volume , -v Bind mount a volume
--restart Restart policy to apply when a container exits
Untuk informasi lebih lanjut, silakan lihat referensi run Docker resmi .
Berikut adalah contoh untuk menjalankan layanan webdev di Docker. Nama gambar adalah morrisjobke / webdav . Anda dapat menariknya dari Docker Hub .
Setelah Anda menjalankan gambar ini, Anda kemudian dapat mengakses contoh WebDAV di http://localhost:8888/webdav
. Secara internal folder /var/webdav
tersebut digunakan sebagai root WebDAV.
Anda dapat menjalankan wadah ini dengan cara berikut:
$ docker run -d -e USERNAME=test -e PASSWORD=test -p 8888:80 morrisjobke/webdav
Saya memiliki masalah yang sama. Saya menjalankan gambar Docker saya, dan itu menciptakan sebuah wadah dengan CONTAINER_ID tertentu. Saya ingin bekerja dengan wadah yang sama:
Pertama jalankan gambar Docker Anda:
docker run -it -p 8888:8888 -p 6006:6006 -v ~/:/host waleedka/modern-deep-learning
Kemudian daftarkan semua wadah yang telah Anda buat:
sudo docker ps -a
Dan pilih wadah yang ingin Anda kerjakan (milik saya adalah 167ddd6d7f15):
sudo docker start -ai 167ddd6d7f15
Karena Anda telah membuat gambar dari Dockerfile, gambar saat ini tidak dalam keadaan aktif. Agar berfungsi, Anda perlu menjalankan gambar ini di dalam sebuah wadah.
The $ docker images
perintah menjelaskan berapa banyak gambar yang saat ini tersedia di repositori lokal. dan
docker ps -a
menunjukkan berapa banyak wadah yang saat ini tersedia, yaitu daftar wadah yang aktif dan keluar.
Ada dua cara untuk menjalankan gambar dalam wadah:
$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
Dalam mode terpisah:
-d=false: Detached mode: Run container in the background, print new container id
Dalam mode interaktif:
-i :Keep STDIN open even if not attached
Berikut adalah perintah jalankan Docker
$ docker run image_name:tag_name
Untuk klarifikasi lebih lanjut tentang proses Docker, Anda dapat mengunjungi referensi proses Docker .
Ini bahan terbaik untuk memahami Docker.
Untuk melihat daftar semua gambar di host Docker Anda, jalankan:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apache_snapshot latest 13037686eac3 22 seconds ago 249MB
ubuntu latest 00fd29ccc6f1 3 weeks ago 111MB
Sekarang Anda dapat menjalankan gambar Docker sebagai wadah dalam mode interaktif:
$ docker run -it apache_snapshot /bin/bash
ATAU jika Anda tidak memiliki gambar secara lokal, Cari Docker Hub untuk mengunduh gambar:
$ docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian... 6759 [OK]
dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openss... 141 [OK]
rastasheep/ubuntu-sshd Dockerized SSH ser... 114 [OK]
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS w... 88 [OK]
ubuntu-upstart Upstart is an even... 80 [OK]
Tarik gambar Docker dari repositori dengan perintah docker pull:
$ docker pull ubuntu
Jalankan gambar Docker sebagai wadah:
$ docker run -it ubuntu /bin/bash
$ docker images
REPOSITORY TAG IMAGE ID CREATED
jamesmedice/marketplace latest e78c49b5f380 2 days ago
jamesmedice/marketplace v1.0.0 *e78c49b5f380* 2 days ago
$ docker run -p 6001:8585 *e78c49b5f380*
Bagi mereka yang memiliki masalah yang sama juga, tetapi mengalami kesalahan seperti
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"bash\": executable file not found in $PATH"
Saya menambahkan titik masuk yang berfungsi untuk saya:
docker run -it --entrypoint /bin/sh
untuk gambar tanpa Bash.
Contoh (dari contoh yang disetujui):
run -it --entrypoint /bin/sh ubuntu:12.04
Referensi: https://gist.github.com/mitchwongho/11266726
docker ps -a
tidak berguna di sini?