Rumah >Operasi dan penyelenggaraan >Docker >Bagaimana untuk mengubah suai masa buruh pelabuhan
Docker ialah platform kontena sumber terbuka yang memudahkan penggunaan dan pengurusan aplikasi dengan menjalankan aplikasi dalam bekas. Walau bagaimanapun, apabila menggunakan Docker, pengguna sering mendapati bahawa masa dalam bekas tidak konsisten dengan masa sistem hos, yang mungkin menyebabkan beberapa aplikasi tidak berjalan dengan betul. Oleh itu, cara mengubah suai masa Docker menjadi sangat penting.
Artikel ini akan memperkenalkan cara mengubah suai masa dalam bekas Docker.
1. Semak masa dalam bekas Docker
Sebelum mengubah suai masa bekas Docker, kita perlu menyemak dahulu sama ada masa dalam bekas itu konsisten dengan masa sistem hos . Anda boleh melihat masa bekas dengan melaksanakan arahan berikut dalam terminal:
docker exec <container_id> date
di mana, container_id
ialah ID bekas yang akan ditanya. Contohnya, jika anda ingin menanyakan masa bekas bernama my_container
, anda boleh melaksanakan arahan berikut:
docker exec my_container date
Selepas melaksanakan arahan, terminal akan mengeluarkan masa dalam bekas. Jika ia tidak konsisten dengan masa sistem hos, anda perlu mengubah suai masa dalam bekas.
2. Ubah suai masa dalam bekas Docker
Masa bekas Docker disegerakkan daripada jam sistem hos. Oleh itu, untuk mengubah suai masa bekas, kita perlu terlebih dahulu mengubah suai masa dalam sistem hos melalui arahan berikut:
date -s "<yyyy>-<mm>-<dd> <hh>:<mm>:<ss>"
di mana, yyyy
mewakili tahun, mm
mewakili bulan , dan dd
mewakili hari, hh
mewakili jam, mm
mewakili minit dan ss
mewakili saat. Contohnya, jika anda ingin mengubah suai masa sistem hos kepada 0:00:00 pada 1 Januari 2022, anda boleh melaksanakan arahan berikut:
date -s "2022-01-01 00:00:00"
Kemudian, kita perlu menukar jam sistem hos melalui perintah berikut Segerakkan ke jam dalam Docker:
docker run --rm --privileged alpine hwclock -s
Arahan ini akan memulakan bekas Linux Alpine dan melaksanakan perintah hwclock -s
dalam bekas untuk menyegerakkan jam dalam bekas dengan jam sistem hos. Selepas melaksanakan arahan ini, masa dalam bekas juga akan dikemas kini.
Akhir sekali, kami menyemak masa dalam bekas sekali lagi dengan arahan berikut:
docker exec <container_id> date
Jika masa dalam bekas sudah konsisten dengan masa sistem hos, maka tugas kami sudah lengkap.
3. Segerakkan masa kontena Docker secara automatik
Walaupun kaedah di atas boleh digunakan untuk mengubah suai masa bekas Docker, ia memerlukan operasi manual setiap kali masa tidak konsisten, yang sangat menyusahkan . Oleh itu, kami boleh menyegerakkan masa bekas Docker secara automatik dengan menulis skrip.
Berikut ialah skrip Bash mudah untuk menyegerakkan masa sistem hos ke dalam bekas Docker:
#!/bin/bash # 修改主机系统的时间 date -s "<yyyy>-<mm>-<dd> <hh>:<mm>:<ss>" # 获取所有正在运行的容器的 ID containers=$(docker ps -q) # 同步容器内的时间 for container in $containers do docker exec $container hwclock -s done
Simpan kod di atas sebagai fail .sh
, seperti sync_time.sh
dan kemudian laksanakan arahan berikut:
chmod +x sync_time.sh ./sync_time.sh
Selepas melaksanakan skrip ini, masa sistem hos akan diubah suai dan disegerakkan secara automatik kepada semua bekas Docker yang sedang berjalan.
4. Ringkasan
Artikel ini memperkenalkan cara mengubah suai masa dalam bekas Docker, termasuk penyegerakan masa manual dan penyegerakan masa automatik. Jika anda menghadapi masalah ketidakkonsistenan masa semasa menggunakan Docker, anda boleh mencuba kaedah di atas untuk menyelesaikannya.
Atas ialah kandungan terperinci Bagaimana untuk mengubah suai masa buruh pelabuhan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!