Docker 容器(基本上是应用程序隔离,afaik)看起来很方便,但它们仅适用于 Linux。甚至“Docker Container for Windows”基本上只是将 Linux VM 安装到 Windows 上的 VirtualBox 中。
那么有没有像 Docker Container 这样的 Windows Server 技术呢?
windows windows-server-2008 containers docker windows-server-2016
我正在尝试从官方 Arch Linux 映像构建 Docker 映像。这些是我到目前为止所做的事情:
我拉了官方的 Arch Linux 镜像:
docker pull base/archlinux
Run Code Online (Sandbox Code Playgroud)
我写了这个“Dockerfile”:
# Set base image
FROM base/archlinux:latest
# Fix mirrorlist file
#RUN rm /etc/pacman.d/mirrorlist
#RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist
#RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist
#RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist
#RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist
# Update pacman and install packages
RUN pacman-db-upgrade
RUN pacman -Syyu --noconfirm
RUN pacman -S --noconfirm nodejs phantomjs cronie
# Make cronjobs
RUN echo "*/2 …Run Code Online (Sandbox Code Playgroud) 如果我在容器中运行 HAProxy(或 Nginx)与直接在主机上安装它,性能和/或稳定性会受到影响吗?
所以我设置了两个 Ubuntu AWS 实例(一个小的 t2.medium 和一个大的 r3.large)。t2.medium 上安装了 Jenkins CI,而 r3.large 上安装了 docker 引擎。这里的意图是有一个主(t2.medium)服务器和一个从(r3.large)服务器;主服务器可以为作业委派 docker 容器(根据需要启动 jenkins docker 容器)。
我的问题是我对这个有点不知所措。我一直在研究,但几乎我做的任何事情都失败了。
我目前的情况是:就像我上面提到的那样,我在一个实例上成功运行了 jenkins,在另一个实例上成功运行了 docker 引擎。我也有docker插件,在这里找到,安装在 jenkins 上,我已经按照该页面上的说明进行操作。但是,当我添加云并添加凭据时,唯一显示的是“-none-”;但是,相同的凭据显示在底部。
问题是每次我测试连接时都会收到以下错误:
shaded.org.apache.http.conn.HttpHostConnectException: Connect to 10.96.24.240:4243 [/10.96.24.240] failed: Connection refused.
任何帮助将非常感激!我已经做了一个多星期了!我只是无法解决这个问题。
编辑:如果我以错误的方式进行操作,请指导我如何实现预期的设置。
EDIT2:在这两个实例之间打开所有端口。
EDIT3:这是我的泊坞窗图像:
ubuntu@ip-10-96-24-240:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ubuntu@ip-10-96-24-240:~$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
jenkins-1 latest 9de6ee8eeebc 3 days ago 816.3 MB
ubuntu latest 8251da35e7a7 2 weeks ago 188.4 …Run Code Online (Sandbox Code Playgroud) Docker 提供了两种方式来备份和同步本地机器上的容器数据,即volume和mount。除了我注意到的一些事情之外,两者的行为方式都相同:
好的,所以我们可以说方法论有一些优点和缺点,但在优化方面仍然存在一些分类或差异。
请提供一个解释性的答案。
我刚刚看过这个视频:谷歌容器数据中心之旅
我不太清楚的是,将服务器放在容器内有什么好处?
我已经使用 LXC 容器几年了,最近扩展了在容器环境中运行的应用程序类型。
我现在开始使用以下配置参数限制容器级别的资源:
lxc.cgroup.cpuset.cpus = 16-23
lxc.cgroup.memory.limit_in_bytes = 30720M
lxc.cgroup.memory.memsw.limit_in_bytes = 32768M
Run Code Online (Sandbox Code Playgroud)
我正在与一位使用“调整”工具 ( pgtune )的开发人员合作,为将在 LXC 环境中运行的 Postgres 数据库生成配置。此工具较旧,并且不太了解 VM 或容器。它根据系统可见的 RAM 提供大小建议。
那时我意识到在某些情况下,容器实例可以看到所有主机系统的 RAM (96GB) 可能是有害的。
是否有任何解决方法,或者它只是在使用 LXC 时给定的?
我正在尝试创建一个包含 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)
这运行图像然后立即退出,我试图让服务跟上。我究竟做错了什么?
在我所有正在运行的 docker 容器中,容器系统时间都设置为 UTC,而在我的主机(debian)上是 CEST。
为什么他们不自动同步?我如何让他们在提出他们时设定正确的时间?
root@v2201510680628925:/home/jacob# docker version
Client:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:36:47 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:36:47 2016
OS/Arch: linux/amd64
root@v2201510680628925:/home/jacob# date
Wed Aug 2 09:59:20 CEST 2017
root@v2201510680628925:/home/jacob# docker exec -it naos_nginx bash
root@0cefa7f7096c:/# date
Wed Aug 2 07:59:34 UTC 2017
root@0cefa7f7096c:/# exit
exit
root@v2201510680628925:/home/jacob# docker exec -it ah_avail bash …Run Code Online (Sandbox Code Playgroud) 我正在尝试在运行 openjdk:17-oracle 的容器中安装 xargs,但我无法确定此映像中存在什么包管理器。
FROM openjdk:17-oracle
RUN apt-get install findutils
Run Code Online (Sandbox Code Playgroud)
抛出错误:
=> ERROR [stage-1 4/4] RUN apt-get install findutils 0.5s
------
> [stage-1 4/4] RUN apt-get install findutils:
#13 0.395 /bin/sh: apt-get: command not found
-
Run Code Online (Sandbox Code Playgroud)
yum install findutils和其他几个一样。
我需要 xargs,因为 gradle 运行程序使用它来为我的 java 进程构建“执行”命令。
containers ×10
docker ×7
arch-linux ×1
centos6 ×1
datacenter ×1
google ×1
haproxy ×1
host ×1
java ×1
jenkins ×1
linux ×1
lxc ×1
memory ×1
oracle-linux ×1
ssh ×1
time ×1
timezone ×1
windows ×1