在我工作的公司,我们计划构建一个设备来简化我们产品的部署。我们可能会运行一个带有docker容器的虚拟机(包含产品)和一个 Web 应用程序来管理它们(运行它们、停止它们等)。
但是,除此之外,我们还需要对未经授权的副本进行一定程度的安全保护。我们需要一些方法来防止(或至少让它变得困难)有人在其他地方克隆虚拟机并免费使用该设备。
换句话说,我们需要尽可能多的可移植性,但我们需要这种可移植性仅限于我们的操作。是否有一些我们可以使用的奇特技术或标准?有没有既定的方法来提供这种保护?
我认为 docker 图像使用底层文件系统来创建自己的文件系统。但是,我正在通过“rvm 要求”安装一些导致错误的软件包。
错误是下载目录 /var/cache/yum/x86_64/6/centosplus/packages 空间不足
我想知道这里有什么问题。
我有两台服务器,每台服务器运行 50 到 100 个不同的遗留 web 应用程序,使用从 PHP 到 Python 到 Ruby-on-rails 到 NodeJS 的语言编写。
我们想淘汰这些机器,因为它们很旧、不安全、组织不严、没有一致的配置逻辑,而且mysqld每台机器都运行两个实例(不要问)。
为此,我想做以下事情:
最终,我想做一些类似于Deis或Flynn所做的事情,尽管目前这些都不是生产就绪的。
老实说,我对这一切有点不知所措,真的不知道从哪里开始。有什么建议?乘客是我应该考虑的事情吗?码头工人?
谢谢!
除了通过套接字/网络之外,还有什么方法可以在 docker 容器之间进行通信?可能是 IPC 或其他一些方式。可行吗?
我已经阅读了 docker 文档,它说我们可以使用 --link 选项链接 docker 容器,但它没有说明如何将数据/味精从一个容器传输到另一个容器。我已经创建了一个名为 checkram 的容器。现在我想将一个新容器与这个容器链接起来,然后运行docker run -i -t --privileged --link=checkram:linkcheck --name linkcont topimg命令。然后我检查了LINKCHECK_PORT包含tcp://172.17.0.14:22. 我不知道如何处理这个 ip 和端口以及如何从 linkcont 容器与 checkram 容器通信。谁能帮我解决这个问题?提前致谢。
据我了解,docker 在桥接接口 docker0 上使用自己的 IP 和完全开放的端口运行容器。
假设我启动了一个容器,它有自己的 IP:172.17.0.11,我有一个虚拟以太网接口 eth0.1,公共 IP 为 93.xxx
如何将 eth0.1 转发到 docker 容器,以便我可以通过 eth0.1 IP 访问容器?
我可以一次转发所有端口吗?(也许有脚本)
如何禁用 docker 默认行为,以便每个容器仅在 docker0 接口上获得一个 IP,并且我手动设置转发?
@泽维尔卢卡斯
我链接它是因为我认为那里的解释更好。如果您检查 debian 配置,我会在 /etc/net/interfaces 文件中添加以下内容:
post-up /sbin/ifconfig eth0:X IP.OF.FAIL.OVER netmask 255.255.255.255 broadcast IP.OF.FAIL.OVER
post-down /sbin/ifconfig eth0:X down
Run Code Online (Sandbox Code Playgroud)
这样我就有了一个虚拟接口 (eth0:0),它有一个由我的提供商转发的公共 IP。我认为路由是由提供商完成的,因为我的服务器上没有其他路由或配置
笔记:
有一个后续问题
我有两个 docker 容器正在运行
docker ps
Run Code Online (Sandbox Code Playgroud)
结果
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0bfd25abbfc6 f_service:latest "/usr/local/start-fl 13 seconds ago Up 2 seconds 0.0.0.0:8081->8081/tcp flume
6a1d974f4e3e h_service:latest "/usr/local/start-al 2 minutes ago Up About a minute 0.0.0.0:8080->8080/tcp hadoop
Run Code Online (Sandbox Code Playgroud)
Hadoop 服务在 hadoop 容器中运行 [即 datanode、namenode、jobtracker、tasktracker、secondarynamenode]
Flume 服务在水槽容器上运行 [即水槽代理]
我想在水槽容器上运行 hadoop 命令。[即 hadoop fs -ls /] 怎么做?有任何想法吗?
我尝试链接,但无法实现。
容器的运行命令:
docker run -it --name hadoop -p 8080:8080 h_service
jps on hadoop container shows all hadoop services
docker run -it -p 8081:8081 --name flume …Run Code Online (Sandbox Code Playgroud) 我跑了centos:7.1.1503然后yum install postgresql。不幸的是,由于 systemd 问题,service postgresql start即使安装后我也无法运行initscripts:
Redirecting to /bin/systemctl start postgresql.service
/usr/sbin/service: line 79: /bin/systemctl: No such file or directory
[root@8109c497195b ~]# yum provides systemctl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos2.hti.pl
* extras: centos.komster.pl
* updates: centos2.hti.pl
systemd-208-20.el7.x86_64 : A System and Service Manager
Repo : base
Matched from:
Filename : /bin/systemctl
systemd-208-20.el7_1.2.x86_64 : A System and Service Manager
Repo : updates
Matched from:
Filename …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个包含 openssh 服务器的映像,并在调用运行命令时启动它。我采取了以下步骤:
docker pull ubuntu
docker run -d -it ubuntu bash
apt-get update
apt-get install openssh-server -y
exit
docker ps -a
docker commit <CONTAINER ID> myimg
// tried the following three, same results
docker run -d myimg "/usr/sbin/sshd"
docker run -d myimg /usr/sbin/sshd -D
docker run -d myimg service ssh start
Run Code Online (Sandbox Code Playgroud)
这运行图像然后立即退出,我试图让服务跟上。我究竟做错了什么?
我正在尝试在 dockerized 环境中设置 pythons django
文件
FROM python:3.5-slim
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
RUN pip install --upgrade pip
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
EXPOSE 8000
Run Code Online (Sandbox Code Playgroud)
我将此构建为django-app.
docker-compose.yml
django:
container_name: django
image: django-app:latest
ports:
- "8000:8000"
volumes:
- ./config/startup.sh:/startup.sh
- ./app:/code
command: /bin/sh /startup.sh
Run Code Online (Sandbox Code Playgroud)
启动文件
#!/bin/sh
cd /code
django-admin.py startproject djagento
echo "Creating Project djagento"
cd djagento
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
我使用 ubuntu 14.04 LTS 作为我的主机系统
docker exec -it django bash …
我正在关注本文以了解 Windows Server TP4 中的 Windows Container。由于这篇文章同时带有 'Powershell way' 和'docker way',所以我认为这两种方式是可以互换的。我认为从 powershell 创建的容器和容器映像可以从 docker 管理,反之亦然。
然后在我完成并在 powershell 中创建所有内容后,我运行docker images和docker ps,我的容器/图像不在那里?!
我错过了什么还是真的它们都是不同的东西?
docker ×10
centos ×2
containers ×2
cluster ×1
django ×1
hadoop ×1
iptables ×1
linux ×1
mysql ×1
networking ×1
postgresql ×1
powershell ×1
scaling ×1
security ×1
ssh ×1
systemd ×1
yum ×1