在Mac上使用Docker的Db2 Developer-C Edition时遇到的问题

时间:2018-01-27 07:11:23

标签: docker db2

(我正在重写another site中的这个问题以获得更多关注,我希望没问题。)

我正在尝试按照https://store.docker.com/images/db2-developer-c-edition的说明设置Db2开发人员环境。

我能够创建容器,启动它,甚至做一些SQL查询

<a class='btn btn-sm' href='example.php?id="<?php echo $row['id'] ?>"' role='button' data-toggle='modal' data-target='.bs-example-modal-lg'>View</a>

到目前为止,一切似乎都没问题。

问题:

  1. NOT 能够从主机连接到db。如何从我的macos机器连接到这个数据库?我正在尝试托管:mkdir docker_volume # I use the same env_list as the instructions link above docker run -h db2server_myDb \ --name db2server \ --restart=always \ --detach \ --privileged=true \ -p 50000 \ --env-file .env_list \ -v docker_volume:/database \ store/ibmcorp/db2_developer_c:11.1.2.2 docker exec -ti db2server bash -c "su db2inst1" db2 connect to testdb db2 "create table t_project ( code varchar(5), name varchar(60) )" db2 "insert into t_project (code, name) values (57003, 'sample')" db2 "select * from t_project" 端口:172.17.0.1数据库:50000用户名:testdb密码:db2inst1

  2. 停止容器后,我能够再次启动它。启动或停止db2容器的正确命令是什么?

    password
  3. 我被困在这里,我需要终止这个过程并移除容器并重新做一切。

    非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

您正在使用DB2 Developer-C的Docker Store映像。如果您按照创建容器的说明进行操作,您会注意到说明指定对docker run使用docker ps选项。此选项指定容器中的端口50000将绑定到主机上的动态端口。

您需要检查主机上连接的端口。您可以在docker port或更好地从$ docker port db2serverX 50000/tcp -> 0.0.0.0:32777

的输出中看到此信息
-p 50000:50000

这表明容器中的端口50000映射到Docker主机上(所有)接口上的端口32777。

如果您想在Docker主机上指定连接的端口,请务必使用格式hostPort:containerPort,指定temp = inverse.rle(with(rle(is.na(x$meanSR_strong)), list(lengths = lengths, values = replace(values, which(lengths > 10), 2)))) replace(x$meanSR_strong, temp == 2, x$meanSR_weak[temp == 2]) # [1] NA 0.3760090 NA NA NA # [6] NA 0.6155856 NA 0.6073541 0.5902108 #[11] 0.5700505 0.5966162 0.5840667 0.5385973 NA #[16] NA NA 0.5554631 0.3767153 NA #[21] NA NA NA NA NA #[26] 0.6097297 NA NA 0.6390108 0.6342730