小编que*_*o42的帖子

如何在 docker-compose.yml 的命令中使用 `echo` 来处理冒号(“:”)符号?

这是我的docker-compose.yml

\n
elasticsearch:\n  ports:\n  - 9200:9200/tcp\n  image: elasticsearch:2.4\n volumes:\n  - /data/elasticsearch/usr/share/elasticsearch/data:/usr/share/elasticsearch/data\n command: /bin/bash -c \xe2\x80\x9cecho 'http.cors.enabled: true' > /usr/share/elasticsearch/config/elasticsearch.yml"\n
Run Code Online (Sandbox Code Playgroud)\n

它抛出错误:

\n
\n

激活 (yaml: [] 映射值在此上下文中不允许,位于第 7 行第 49 列

\n
\n

看起来好像我无法使用冒号:登录command这是真的吗?

\n

docker dockerfile docker-compose docker-machine

3
推荐指数
1
解决办法
2万
查看次数

用毫秒和时区保存日期时间 - python

我无法找出strptime以下日期格式的正确第二个参数

a = datetime.strptime('2017-03-09 14:00:00.000000+0000', '%y-%m-%d %H:%M:%S.%f+%z')
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

ValueError: time data '2017-03-09 14:00:00.000000+0000' does not match format '%y-%m-%d %H:%M:%S.%f+%z'
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?

python strptime python-3.x

3
推荐指数
1
解决办法
7821
查看次数

如何使用 docker-compose 来构建 Dockerfile?

我有这样的结构:

在此输入图像描述

在我的 Makefile 中,我构建了 dockerfile:

sudo docker build --build-arg PHP_VERSION=7.4 -t kaiza/image-php74 - < dockerfile/Dockerfile.php
Run Code Online (Sandbox Code Playgroud)

kaiza /image-php74在本地创建得很好,如果我这样做docker images,我会得到:

在此输入图像描述

然后,在我的 docker-compose.php74.yml 中:

version: '2.4'

services:
  php7.4:
    image: "kaiza/image-php74"
    container_name: "kz-php74"
    hostname: "kz-php74"
    user: 1000:1000
...
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时

docker-compose -f docker-compose/php/docker-compose.php74.yml up --build -d
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

“kaiza/image-php74 的拉取访问被拒绝,存储库不存在或可能需要‘docker 登录’:被拒绝:请求的资源访问被拒绝”

任何人都知道如何在不通过注册表解决方案的情况下解决这个问题(以将所有内容保留在本地)?

谢谢。

docker dockerfile docker-compose devops

3
推荐指数
1
解决办法
1万
查看次数

安装了太多的 postgresql 版本:如何仅启动选定的 postgresql 版本或删除不需要的版本?需要的端口是标准的“5432”

有很多启动的postgresql服务,psql选择最低的postgresql版本

我已经安装了两个版本的 postgresql,12并且13(在这个问题的早期版本中,这些是9.19.2,我将其更改为与更高版本中添加的输出详细信息一致)。

sudo service postgresql status
12/main (port 5432): down
13/main (port 5433): down
Run Code Online (Sandbox Code Playgroud)

它们位于/etc/postgresql/12//etc/postgresql/13/

在版本上安装扩展后13

sudo apt-get install postgresql-contrib postgresql-plpython3-13
Run Code Online (Sandbox Code Playgroud)

启动 postgresql 服务:

sudo service postgresql start
Run Code Online (Sandbox Code Playgroud)

输出:

 * Starting PostgreSQL 12 database server                                                                                                                                                                                             
 * Starting PostgreSQL 13 database server
Run Code Online (Sandbox Code Playgroud)

现在让我们在数据库中创建扩展,运行:

sudo su - postgres
Run Code Online (Sandbox Code Playgroud)

进而:

postgres=# psql
psql (13.4 (Ubuntu 13.4-1.pgdg20.04+1), server 12.7 (Ubuntu 12.7-0ubuntu0.20.04.1))
Type "help" for help.

postgres=# CREATE EXTENSION plpython3u; …
Run Code Online (Sandbox Code Playgroud)

linux postgresql ubuntu multiple-versions

2
推荐指数
1
解决办法
1663
查看次数

如何使用docker-compose挂载主机目录,运行主机时指定“~/path/on/host”,不在docker-compose文件中

我想知道如何使用 docker-compose 挂载主机目录。

目前我只是使用一个普通的 Dockerfile,它工作正常。当我运行容器时,我只指定主机上的路径和容器上的路径。

docker run -d -p 3000:3000 -v ~/path/on/host:/path/on/container my-container
Run Code Online (Sandbox Code Playgroud)

我想使用 docker-compose 来实现这一点,但我不确定这是如何工作的。我的 docker compose 如下。

version: '3'

services:
  my-app:
    build:
      context: .
      dockerfile: ./path/to/Dockerfile
Run Code Online (Sandbox Code Playgroud)

另外,我需要在运行主机时指定 ~/path/on/host ,而不是在 docker-compose 文件中。

environment-variables docker dockerfile docker-compose docker-volume

2
推荐指数
1
解决办法
8352
查看次数

“二进制安装”和“从源代码编译安装”有什么区别?哪个更好?

我想为 Ros(机器人操作系统)安装一个驱动程序,我有两个选项:二进制安装和从源代码编译和安装。我想知道哪种安装方式更好,每种方式的优缺点是什么。

installation binaries

-1
推荐指数
1
解决办法
1625
查看次数