Apa perintah untuk mendapatkan ID kontainer buruh pelabuhan dari nama kontainer?
docker --listatau mirip seperti itu? Apa perintah untuk membuat penampung baru? dll
Apa perintah untuk mendapatkan ID kontainer buruh pelabuhan dari nama kontainer?
docker --listatau mirip seperti itu? Apa perintah untuk membuat penampung baru? dll
Jawaban:
Di Linux:
sudo docker ps -aqf "name=containername"
Atau di OS X, Windows:
docker ps -aqf "name=containername"
dimana containernamenama container anda.
Untuk menghindari kesalahan positif, seperti yang dicatat @llia Sidorenko, Anda dapat menggunakan jangkar regex seperti ini:
docker ps -aqf "name=^containername$"
penjelasan:
-quntuk diam. hanya mengeluarkan ID-auntuk semua. berfungsi bahkan jika penampung Anda tidak berjalan-funtuk filter .^nama kontainer harus dimulai dengan string ini$nama wadah harus diakhiri dengan string ini--no-truncbendera. jadidocker ps --no-trunc -aqf "name=containername"
docker inspect --format="{{.Id}}" imageNameberhasil untuk saya.
Anda bisa mencoba ini:
docker inspect --format="{{.Id}}" container_name
Pendekatan ini tidak bergantung pada OS.
NAMESkolom dengan docker ps), ini memberikan ID penampung. Jika nama gambar (diberikan di IMAGEkolom dengan docker ps) disediakan, itu akan mengeluarkan ID gambar sebagai gantinya.
Dapatkan ID kontainer dari menjalankan kontainer ::
$docker ps -qf "name=IMAGE_NAME"
-f: Filter output based on conditions provided
-q: Only display numeric container IDs
Dapatkan ID kontainer dari semua kontainer ::
$docker ps -aqf "name=IMAGE_NAME"
-a: all containers
docker ps -fq Namun tidak bekerja docker ps -qf(urutan bendera)
Perintah berikut:
docker ps --format 'CONTAINER ID : {{.ID}} | Name: {{.Names}} | Image: {{.Image}} | Ports: {{.Ports}}'
Memberikan keluaran ini:
CONTAINER ID : d8453812a556 | Name: peer0.ORG2.ac.ae | Image: hyperledger/fabric-peer:1.4 | Ports: 0.0.0.0:27051->7051/tcp, 0.0.0.0:27053->7053/tcp
CONTAINER ID : d11bdaf8e7a0 | Name: peer0.ORG1.ac.ae | Image: hyperledger/fabric-peer:1.4 | Ports: 0.0.0.0:17051->7051/tcp, 0.0.0.0:17053->7053/tcp
CONTAINER ID : b521f48a3cf4 | Name: couchdb1 | Image: hyperledger/fabric-couchdb:0.4.15 | Ports: 4369/tcp, 9100/tcp, 0.0.0.0:5985->5984/tcp
CONTAINER ID : 14436927aff7 | Name: ca.ORG1.ac.ae | Image: hyperledger/fabric-ca:1.4 | Ports: 0.0.0.0:7054->7054/tcp
CONTAINER ID : 9958e9f860cb | Name: couchdb | Image: hyperledger/fabric-couchdb:0.4.15 | Ports: 4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp
CONTAINER ID : 107466b8b1cd | Name: ca.ORG2.ac.ae | Image: hyperledger/fabric-ca:1.4 | Ports: 0.0.0.0:7055->7054/tcp
CONTAINER ID : 882aa0101af2 | Name: orderer1.o1.ac.ae | Image: hyperledger/fabric-orderer:1.4 | Ports: 0.0.0.0:7050->7050/tcp`enter code here`
Jika Anda ingin mendapatkan ContainerId lengkap berdasarkan nama Container, gunakan perintah berikut
docker ps --no-trunc -aqf name=containername
Gambar Docker memeriksa ImageName \ ImageId --format = {{'. ConatinerConfig.Hostname'}}
Dalam kasus saya, saya menjalankan container Docker Tensorflow di Ubuntu 20.04: Jalankan container docker Anda di One terminal, saya menjalankannya dengan
docker run -it od
Dan kemudian mulai terminal lain dan berlari di bawah docker psdengan sudo:
sudo docker ps
Saya berhasil mendapatkan id kontainer:
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
e4ca1ad20b84 od "/bin/bash" 18 minutes ago
Up 18 minutes unruffled_stonebraker
Cara paling sederhana yang dapat saya pikirkan adalah dengan mengurai keluaran docker ps
Mari kita jalankan gambar ubuntu terbaru secara interaktif dan sambungkan
docker run -it ubuntu /bin/bash
Jika Anda menjalankan docker psdi terminal lain, Anda dapat melihat sesuatu seperti
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8fddbcbb101c ubuntu:latest "/bin/bash" 10 minutes ago Up 10 minutes gloomy_pasteur
Sayangnya, mengurai format ini tidak mudah karena menggunakan spasi untuk meratakan barang secara manual
$ sudo docker ps | sed -e 's/ /@/g'
CONTAINER@ID@@@@@@@@IMAGE@@@@@@@@@@@@@@@COMMAND@@@@@@@@@@@@@CREATED@@@@@@@@@@@@@STATUS@@@@@@@@@@@@@@PORTS@@@@@@@@@@@@@@@NAMES
8fddbcbb101c@@@@@@@@ubuntu:latest@@@@@@@"/bin/bash"@@@@@@@@@13@minutes@ago@@@@@@Up@13@minutes@@@@@@@@@@@@@@@@@@@@@@@@@@@gloomy_pasteur@@@@@@
Berikut ini skrip yang mengubah output ke JSON.
https://gist.github.com/mminer/a08566f13ef687c17b39
Sebenarnya, outputnya sedikit lebih nyaman untuk digunakan daripada itu. Setiap bidang memiliki lebar 20 karakter.
[['CONTAINER ID',0],['IMAGE',20],['COMMAND',40],['CREATED',60],['STATUS',80],['PORTS',100],['NAMES',120]]