sunhk25
V2EX  ›  问与答

docker 学习 代码与 mysql 如何从容器里放到 host OS 里

  •  
  •   sunhk25 · Apr 30, 2015 · 2250 views
    This topic created in 4118 days ago, the information mentioned may be changed or developed.
    容器里有能正常运行的一个项目环境。
    代码可以通过 docker run -v共享放到host OS里
    docker run -d -t -p 12812:2812 -p 10080:80 -p 10022:22 -v /www/my_source:/www/my_source env1_container:ref_source /startup.sh
    mysql也用类似的方法试了一下,不灵
    目的是想通过一些工具直接修改数据库。
    1.工具直接连接到容器的数据库,好像不太现实吧
    2.容器共享host机的数据库,然后工具连接到host机数据库
    3.修改代码中的数据库连接,指向host的数据库。不太想通过修改代码实现。
    8 replies    2015-04-30 12:18:06 +08:00
    jokester
        1
    jokester  
       Apr 30, 2015
    0 你怎样试的?
    1 为何不现实?
    maemual
        2
    maemual  
       Apr 30, 2015
    说实话,不建议将 MySQL 放在 Docker 这类容器中。
    9hills
        3
    9hills  
       Apr 30, 2015
    > mysql也用类似的方法试了一下,不灵
    是可以的,不灵是你没搞对
    sunhk25
        4
    sunhk25  
    OP
       Apr 30, 2015
    @9hills
    docker run -d -t -p 12812:2812 -p 10080:80 -p 10022:22 -v /www/my_source:/www/my_source -v /var/lib/mysql:/var/lib/mysql env1_container:ref_db /startup.sh
    my.cnf配置一样,datadir=/var/lib/mysql。
    env1_container:ref_db中删掉容器的/var/lib/mysql,共享host的/var/lib/mysql。
    sunhk25
        5
    sunhk25  
    OP
       Apr 30, 2015
    @maemual
    我也是想把MySql从里面迁出来
    sunhk25
        6
    sunhk25  
    OP
       Apr 30, 2015
    @jokester
    我是不知道如何实现啊,请问可以直接通过ssh访问容器的DB吗。。
    binux
        7
    binux  
       Apr 30, 2015
    exec
    jokester
        8
    jokester  
       Apr 30, 2015
    @sunhk25
    你可以在容器内也装sshd
    另外为什么要"通过ssh访问容器的DB"? mysql有自己的协议 3306那个
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2691 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:14 · PVG 20:14 · LAX 05:14 · JFK 08:14
    ♥ Do have faith in what you're doing.