Rumah >Operasi dan penyelenggaraan >Docker >Bagaimana untuk mengubah suai masa buruh pelabuhan

Bagaimana untuk mengubah suai masa buruh pelabuhan

PHPz
PHPzasal
2023-04-20 10:06:466157semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn