我在我的localhost上运行mysql我可以通过运行来连接它:
mysql -h 127.0.0.1 -P 3306 -u root -p
Run Code Online (Sandbox Code Playgroud)
我还用命令运行了docker container:
docker run -tid -v $(pwd):/code -p 3306:3306 -p 5000:5000 --name container container
Run Code Online (Sandbox Code Playgroud)
我想从docker容器访问我的Mysql数据库.所以我也从docker容器中输入:
mysql -h 127.0.0.1 -P 3306 -u root -p
Run Code Online (Sandbox Code Playgroud)
但它给了我错误:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?端口似乎是正确的.
编辑1ifconfig泊坞窗
输出:
eth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:02
inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1780 errors:0 dropped:0 overruns:0 frame:0
TX packets:977 errors:0 dropped:0 overruns:0 carrier:0 …Run Code Online (Sandbox Code Playgroud) 我对git的使用非常简单。基本上我在本地机器上这样做:
echo 'Update' >> README.md
git add . && git commit -m 'update' && git push -u origin master
Run Code Online (Sandbox Code Playgroud)
然后在服务器上:
git pull
Run Code Online (Sandbox Code Playgroud)
就是这样。
每次我在本地计算机上进行更改时,我都会这样做。在我看来,我可以以某种方式优化它,但我还没有找到任何 git 命令来处理这个问题。
有没有办法不git pull每次有变化就打印呢?也许有一种方法可以自动进行add && commit && push?
我可以使用邮件从主机发送邮件:
mail -s "Hooray" smb@example.com < /dev/null
Run Code Online (Sandbox Code Playgroud)
但我想使用主机服务器从 docker 容器发送邮件。当我尝试在运行命令中将其映射到 25 端口时,Docker 说“端口已在使用中”:
run -ti -p 25:25 container
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现目标?主机为 Centos,docker 使用 Ubuntu。
我想npm install在容器中运行命令。但很简单:docker exec container npm install对我来说不是正确的事情。
我想在其中运行此命令,/home/client但我在容器中的工作目录是/home
那可能吗?我不想进入容器,我不想改变工作环境。
编辑 1 Dockerfile:
FROM ubuntu:16.04
COPY . /home
WORKDIR /home
RUN apt-get update && apt-get install -y \
python-pip \
postgresql \
rabbitmq-server \
libpq-dev \
python-dev \
npm \
mongodb
RUN pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
Docker 运行命令:
docker run \
-tid \
-p 8000:8000 \
-v $(PWD):/home \
--name container \
-e DB_NAME \
-e DB_USER \
-e DB_USER_PASSWORD \
-e DB_HOST \
-e …Run Code Online (Sandbox Code Playgroud) 我想在一个简单的 Docker 容器中运行 Django。
首先,我用 Docker 文件构建了我的容器。没有什么特别之处(只有 FROM、RUN 和 COPY 命令)
然后我用命令运行我的容器
docker run -tid -p 8000:8000 --name <container_name> <image>
Run Code Online (Sandbox Code Playgroud)
进入我的容器:
docker exec -it <container_name> bash
Run Code Online (Sandbox Code Playgroud)
运行 Django 服务器:
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
得到了:
Starting development server at http://127.0.0.1:8000/
Run Code Online (Sandbox Code Playgroud)
但是当我转到 127.0.0.1:8000 时,我什么也没看到:
The 127.0.0.1 page isn’t working
Run Code Online (Sandbox Code Playgroud)
没有 Nginx 或其他工作服务器。
我究竟做错了什么?
更新 1(Dockerfile)
FROM ubuntu:16.04
MAINTAINER Max Malyshev <user>
COPY . /root
WORKDIR /root
RUN apt-get update
RUN apt-get install python-pip -y
RUN apt-get install postgresql -y
RUN apt-get install rabbitmq-server …Run Code Online (Sandbox Code Playgroud) 我还没有找到有办法做到这一点.假设我收到一个像这样的JSON对象:
{'1_data':{'4_data':[{'5_data':'hooray'}, {'3_data':'hooray2'}], '2_data':[]}}
Run Code Online (Sandbox Code Playgroud)
很难立即说出,我应该如何从3_data键获得价值:data['1_data']['4_data'][1]['3_data']
我知道pprint,它有助于理解结构.但有时数据量巨大,需要时间
有什么方法可以帮助我吗?