从Docker容器安装boto3

时间:2019-06-12 08:21:38

标签: docker dockerfile

我正在使用docker。在我的一个容器中,我想使用boto3,因此我从容器内部使用了此命令

RUN apt-get install boto3

但它显示我喜欢

bash: RUN: command not found

我也尝试过sudo apt-get install boto3,但它也向我显示了类似的错误

bash: sudo: command not found

那么有人可以告诉我如何在Docker容器中安装软件包吗?

更新

当我赚docker ps -a

我明白了

CONTAINER ID        IMAGE               COMMAND      CREATED  STATUS                    PORTS                               NAMES
                                       distracted_rubin
6a8b04e81122        odoo:11.0           "/entrypoint.sh odoo"    6 weeks ago         Up 4 hours                8071/tcp, 0.0.0.0:18069->8069/tcp   odoo

您可以看到mu容器ID是6a8b04e81122,我使用此命令进入了容器

docker exec -it 6a8b04e81122 /bin/bash

1 个答案:

答案 0 :(得分:0)

default

odoo 图片使用名为 odoo 的用户。该用户没有足够的特权来安装软件包。

因此,您必须创建一个具有不同用户(即root)的容器。

  

docker run -it --user root odoo:11 bash

现在,您已使用 root 用户上下文创建了一个容器。

您可以通过发出以下命令来安装 boto3

apt update 
For python 2.x: apt install python-boto3 
For python 3.x: apt install python3-boto3

最后,提交容器以保留更改。

更新:

您还可以通过发出以下命令来用其他用户打开现有容器。

docker exec -it --user root <container-id> bash