Tag:

Docker容器中的Rails应用程序不会在开发中重新加载

我遵循这个docker – 撰写教程如何启动一个rails应用程序。 它运行完美,但是当我更改控制器时,应用程序不会重新加载。 有什么可以丢失?

MySQL映像忽略docker-compose.yml的卷configuration

使用正式的MySQL Docker镜像,我不明白如何将数据目录挂载到主机上的某个特定点。 图像集的Dockerfile VOLUME /var/lib/mysql 所以数据库数据应该存储在主机上的某个地方。 我想在我的docker-compose文件中更具体,所以我尝试了以下内容: mysql: image: mysql:5.7 environment: – MYSQL_ROOT_PASSWORD=password – MYSQL_DATABASE=mydb volumes: – ./database/mysql:/var/lib/mysql 从docker开始构build一切正常,但主机上的./database/mysql目录保持为空,而容器中的/ var / lib / mysql包含数据。 我的configuration有问题吗? 还是我误解如何使用卷?

有时在Docker中导入数据Mysql非常慢

我有一个文件* .SQL超过1GB,当我导入到本地或Vagrant的Mysql,它总是成功的。 但是使用相同的文件,我导入到Docker上的Mysql,它非常慢(大约10MB / 15分钟)。 我已经多次查看了相同的结果。 我尝试了很多文件。 它似乎发生在指定的文件。 我不知道原因。 我需要帮助。 这是我的docker-compose.yml: version: "2.0" services: database: image: "mysql/mysql-server:5.5" ports: – "3307:3306" volumes: – "db:/var/lib/mysql" – ./sql:/home/sql environment: MYSQL_ALLOW_EMPTY_PASSWORD: "yes" volumes: db: {}

sudo:docker-machine:command not found

谁曾经尝试过这个关于Docker Swarm的教程? https://docs.docker.com/get-started/part4/ 有一个部分叫做: 创build一个集群 。 我想要做的是用docker-machine创build几个虚拟机。 由于我使用ubuntu16.0.4所以我使用以下命令来获得VirtualBox。 sudo apt-get update sudo apt-get install virtualbox-5.2 在我安装VirtualBox后,键入一个命令,如: docker-machine create –driver virtualbox myvm1 但它说: sudo:docker-machine:command not found 所以我input另一个命令来检查我是否已经正确安装了VirtualBox。 sudo virtualbox版本 这将打开Oracle VM VirtualBox Manager ,这意味着我没有正确安装VirtualBox,但不确定。 任何人都可以帮我解决问题吗? 任何帮助,将不胜感激。

在Docker中更改JAVA_HOME

我想要dockerise的遗留Web应用程序使用一些旧的类,如直到Java SE7才支持com/sun/image/codec/jpeg/ImageFormatException 。 现在在Docker容器中默认的jdk正在获取(在安装tomcat-6容器时) java version "1.7.0_131" OpenJDK Runtime Environment (IcedTea 2.6.9) (7u131-2.6.9-2~deb8u1) OpenJdk不支持这些类 我使用update-alternatives来安装Oracle Jdk7.80 加载容器后,在给java -version我越来越 java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode) 但是,input容器后echo $JAVA_HOME会给出/docker-java-home/jre ,它又指向OpenJdk。 如何将JAVA_HOME为我安装的Oracle Jdk主页?

将AWS凭证传递给Docker容器的最佳方法是什么?

我在Amazon EC2上运行docker-container。 目前我已经将AWS Credentials添加到Dockerfile。 你能不能让我知道这样做的最好方法?

无法将MySQL容器连接到Docker中的Tomcat容器

计划 我希望我的tomcat服务器能够连接到我的MySQL服务器在不同的容器中。 问题 Tomcat无法连接到MySQL 我使用了wordpress教程中有关build立与mysql容器的链接的一些细节,并创build了到MySQL的链接。 虽然tomcat和mysql的旋转起来很好,我似乎无法得到的Tomcat能够连接到MySQL,设置在我的本地机器上工作得很好。 我试图使用 – –net: "host" ,尽pipe这不适用于Tomcat,因为它会引发严重的错误。 以前的答案 我注意到这个post上的错误可能修复的负载 ,虽然我不相信任何这些会转化为我的问题,因为我相信这是一个docker问题,而不是一个主机。 泊坞窗,compose.yml web: image: tomcat:7.0 container_name: tomcat-container ports: – "80:8080" hostname: docker-tomcat volumes: – /home/webapps:/usr/local/tomcat/webapps links: – db db: image: mysql container_name: mysql-container environment: MYSQL_ROOT_PASSWORD: Mysqlpassword1 MYSQL_DATABASE: tracker volumes: – /home/mysqlDB:/var/lib/mysql 这是Context.xml from tomcat.我的Context.xml from tomcat. <Context> <Resource name="jdbc/tracker" type="javax.sql.DataSource" maxActive="100" maxIdle="30" […]

如何使用我的docker-composeconfiguration与gitlab CI

我有一个关于gitlab的项目,我将使用gitlab CI进行unit testing。 其实,我有一个其他的仓库名称“docker”与docker-compose.yml和Dockerfile两个项目(因为我重现生产configuration,这两个项目是相互依赖的) 其实在我的开发configuration 在Projects目录中: docker PROJECT_1 project_2 在docker目录中: 泊坞窗,compose.yml Dockerfile-PROJECT1 Dockerfile-项目2 [docker文件中的一些configuration文件问] docker-compose.yml的相对path为../project_1和../project_2 为了build立我的configuration,我做了: cddocker工人 docker-compose up -d project1(在docker-compose.yml中的名字) docker exec -ti project1 bash 题 ? 我想知道我怎么可以拉git仓库“docker”,并启动docker – 组成了project1自gitlab CI启动? 谢谢

无法连接到docker集装箱

我设置了两个swarmpipe理器节点(mgr1,mgr2)。 但是,当我尝试连接到容器,它会引发错误消息。 [root@ip-10-3-2-24 ec2-user]# docker run –restart=unless-stopped -h mgr1 –name mgr1 -d -p 3375:2375 swarm manage –replication –advertise 10.3.2.24:3375 consul://10.3.2.24:8500/ [root@ip-10-3-2-24 ec2-user]# docker exec -it mgr1 /bin/bash rpc error:code = 2 desc =“oci runtime error:exec failed:exec:\”/ bin / bash \“:stat / bin / bash:no such file or directory” 这两个服务器都发生了(mgr1,mgr2)。 我还在每个节点上运行consul容器,并能够连接到领事容器。

Terraform可以从remote_exec命令设置variables吗?

我正在尝试使用Terraform在AWS中构build一个Docker Swarm集群。 我已经成功地启动了一个Swarmpipe理器,但是我正在设法解决如何将连接键传递给worker(将在pipe理器之后创build)。 我想要一些运行docker swarm join-token worker -q命令的方法,它可以设置为Terraformvariables。 这样,工作人员可以有一个像docker swarm join ${var.swarm_token} ${aws_instance.swarm-manager.private_ip}一样的remote_exec命令docker swarm join ${var.swarm_token} ${aws_instance.swarm-manager.private_ip} 我怎样才能做到这一点? 我的configuration如下: resource "aws_instance" "swarm-manager" { ami = "${var.manager_ami}" instance_type = "${var.manager_instance}" tags = { Name = "swarm-manager${count.index + 1}" } provisioner "remote-exec" { inline = [ "sleep 30", "docker swarm init –advertise-addr ${aws_instance.swarm-manager.private_ip}" "docker swarm join-token worker […]