小编Vla*_*sov的帖子

在链接的docker容器中执行命令

从链接的docker容器中的一个docker容器内部执行命令是否有任何可行的方法?我不想从主机执行exec命令.

docker

17
推荐指数
1
解决办法
6619
查看次数

在dockerfile中安装mysql?

我想编写简单的python应用程序并使用dockerfile放入docker conteiner.我的dockerfile是:

FROM ubuntu:saucy

# Install required packages
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install python
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server python-mysqldb

# Add our python app code to the image
RUN mkdir -p /app
ADD . /app
WORKDIR /app

# Set the default command to execute
CMD ["python", "main.py"]
Run Code Online (Sandbox Code Playgroud)

在我的python应用程序中,我只想连接到数据库.main.py看起来像这样:

import MySQLdb as db

connection = db.connect(
                host='localhost',
                port=3306,
                user='root',
                passwd='password',
            )
Run Code Online (Sandbox Code Playgroud)

当我用以下代码构建docker图像时:

docker build -t myapp .
Run Code Online (Sandbox Code Playgroud)

并使用以下命令运行docker镜像:

docker run -i myapp
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

_mysql_exceptions.OperationalError: (2002, "Can't …
Run Code Online (Sandbox Code Playgroud)

python mysql mariadb docker dockerfile

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

docker with ansible等待数据库

我尝试用ansible部署docker.我有一个docker数据库容器,而在其他容器中是我的web应用程序,我尝试链接这两个容器.问题是数据库容器没有时间自行配置,并且Web容器已经启动.我的ansible剧本看起来像:

...
- name: run mysql in docker container
  docker:
    image: "mysql:5.5"
    name: database
    env: "MYSQL_ROOT_PASSWORD=password"
    state: running

- name: run application containers
  docker:
    name: "application"
    image: "myapp"
    ports:
      - "8080:8080"
    links:
      - "database:db"
    state: running
Run Code Online (Sandbox Code Playgroud)

如何确定数据库是否启动?我尝试使用wait_for模块,但这不起作用.我不想设置超时,这对我来说不是一个好选择.

ansible docker ansible-playbook

8
推荐指数
4
解决办法
5106
查看次数

ansible ssh权限被拒绝

我生成了ssh密钥,并将其复制到远程服务器.当我尝试ssh到该服务器时一切正常:

ssh user@ip_address
Run Code Online (Sandbox Code Playgroud)

用户不是root用户.如果我尝试ssh throw ansible:

ansible-playbook -i hosts playbook.yml
Run Code Online (Sandbox Code Playgroud)

与ansible剧本:

---
- hosts: web
  remote_user: user
  tasks:
    - name: test connection
      ping:
Run Code Online (Sandbox Code Playgroud)

和主机文件:

[web]
192.168.0.103
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

...
Permission denied (publickey,password)
Run Code Online (Sandbox Code Playgroud)

有什么问题?

ssh ssh-keys ansible ansible-playbook

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