2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Podman 上のコンテナでapt-getできない

Posted at

概要

・podman machineの時刻がずれていたために、稼働中のコンテナ時刻も連動して誤っており、apt-get エラーとなっていました。podman machine の再起動を実行し時刻を合わせたところ、apt-getできるようになりました。


前提・環境など

・MacOS Sonoma (14.1) Apple M1 Pro
・podman version 4.7.0


前提知識

・podman コマンド
・コンテナとlinuxの基礎


1.apt-get できない問題

[23:06:54 hoge@env]$ podman ps
CONTAINER ID  IMAGE                           COMMAND               CREATED       STATUS         PORTS                  NAMES
58b165422884  docker.io/library/httpd:latest  httpd-foreground      15 hours ago  Up 15 minutes                         httpd1
9d0e11ecf8db  docker.io/library/nginx:latest  nginx -g daemon o...  15 hours ago  Up 15 minutes  0.0.0.0:30081->80/tcp  nginxcon
7fb76635d5af  docker.io/library/httpd:latest  httpd-foreground      15 hours ago  Up 15 minutes                         httpd2
[23:19:23 hoge@env]$ 
root@9d0e11ecf8db:/# date
Fri Dec  8 02:55:44 UTC 2023
root@9d0e11ecf8db:/# apt-get update      
Hit:1 http://deb.debian.org/debian bookworm InRelease
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Hit:3 http://deb.debian.org/debian-security bookworm-security InRelease
Reading package lists... Done
E: Release file for http://deb.debian.org/debian/dists/bookworm-updates/InRelease is not valid yet (invalid for another 5h 16min 47s). Updates for this repository will not be applied.
root@9d0e11ecf8db:/# 

podman exec してnginxconコンテナに入った先で、apt-get を実行しようとしたところ、
E: Release file for http://deb.debian.org/debian/dists/bookworm-updates/InRelease is not valid yet (invalid for another 5h 16min 47s). Updates for this repository will not be applied. というエラーになっています。

2.原因調査:(コンテナ環境の時刻がずれている)

参考にしたのは以下情報

Ubuntuのapt updateのUpdates for this repository will not be appliedエラーに対処するには時刻情報を修正します。

The problem is caused by the not synced clock in Podman VM. This might happen due to the hibernation of the notebook.
The quick fix of the problem is to restart Podman’s VM:

曰く、apt-getできないのは、稼働コンテナの時刻が正しくないため。実際に#dateコマンドで確かめてみると、出鱈目なUTC時刻となっていました。
普通のOSやVMであれば、ntpq コマンドなどを実行すれば良いという話ですが、本環境のようなpodman環境においては、コンテナはpodmanの時刻に依存しています。そのため、podman環境自体を再起動することで、時刻ずれを解消します。
(商用環境で時刻同期していないという事は無い筈なので、検証環境なので発生したトラブル、といえます。)

3.対策:podman環境の時刻を正しく修正

podman machine stopおよびpodman machine start を実行して、時刻を修正します。

[22:57:37 hoge@env]$ podman machine stop
Waiting for VM to exit...
Machine "podman-machine-default" stopped successfully

[23:03:05 hoge@env]$ podman machine start
Starting machine "podman-machine-default"
Waiting for VM ...

(略)

Machine "podman-machine-default" started successfully
[23:03:24 hoge@env]$ 

再起動したので、コンテナを起動して、ホスト時刻と同期した正しい時刻であることを確認しました。

[23:06:54 hoge@env]$ podman ps
CONTAINER ID  IMAGE                           COMMAND               CREATED       STATUS         PORTS                  NAMES
58b165422884  docker.io/library/httpd:latest  httpd-foreground      15 hours ago  Up 15 minutes                         httpd1
9d0e11ecf8db  docker.io/library/nginx:latest  nginx -g daemon o...  15 hours ago  Up 15 minutes  0.0.0.0:30081->80/tcp  nginxcon
7fb76635d5af  docker.io/library/httpd:latest  httpd-foreground      15 hours ago  Up 15 minutes                         httpd2

[23:19:23 hoge@env]$ date  
2023年 12月 8日 金曜日 23時37分32秒 WIT

[23:37:32 hoge@env]$ podman exec -ti 9d0e11ecf8db /bin/bash
root@9d0e11ecf8db:/# date
Fri Dec  8 23:38:18 JST 2023
root@9d0e11ecf8db:/# 
8db:/# 

4.解決確認 (apt-getできるようになった)

無事時刻同期できたので、コンテナ内でapt-getを実行します。


root@9d0e11ecf8db:/# apt-get update
Hit:1 http://deb.debian.org/debian bookworm InRelease
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Hit:3 http://deb.debian.org/debian-security bookworm-security InRelease
Get:4 http://deb.debian.org/debian bookworm-updates/main arm64 Packages [6672 B]
Fetched 6672 B in 1s (10.8 kB/s)
Reading package lists... Done
root@9d0e11ecf8db:/# 

root@9d0e11ecf8db:/# apt-get install vim     
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libsodium23 vim-common vim-runtime xxd
Suggested packages:
  ctags vim-doc vim-scripts
The following NEW packages will be installed:
  libsodium23 vim vim-common vim-runtime xxd
0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
Need to get 8776 kB of archives.
After this operation, 41.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

(略)

update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode
Processing triggers for libc-bin (2.36-9+deb12u3) ...
root@9d0e11ecf8db:/# 

root@9d0e11ecf8db:/# which vi
/usr/bin/vi

無事 apt-get install できるようになりました。 

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?