1. 程式人生 > 實用技巧 >docker建立和使用mysql

docker建立和使用mysql

  • containerimage是兩種不同的概念,image即指存在的映象,container指docker執行起來後image的例項。

  • 當使用docker kill 把某個正在執行的例項kill掉之後,再次執行,會提示:

    Error response from daemon: Conflict. The container name "/mysql" is already in use by container 39ea68e5eb77b97933bd25c4d330d75e710ba4ec4f4281013232e0eb0f0f266b. You have to remove (or rename) that container to be able to reuse that name..
    

    此時除了換一個名字,還有一個方式就是使用docker container rm <docker name>的方式刪除掉該container,才能重新執行該命令。

  • 建立一個container並啟動的方式:

    docker run -p 12306:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
    

    重要引數的解釋:

    • -p 12306:3306:將docker裡面的3306埠對映到主機的12306埠
    • --name:指定啟動mysql後的名稱
    • -e:指定mysql啟動的一些引數
    • -d:以deamon的方式啟動
    • mysql:8.0.2
      :指定某個image的名稱,或者直接使用imageId也是可以的。
  • docker ps命令預設只顯示正在執行的container,使用docker ps -a可以看到已經退出的container,如果需要重新啟動之前的container,那麼直接使用docker start [container_id] 就可以啟動。

  • 對於mysql的docker,注意需要將docker的檔案對映到主機,否則客戶端可能無法連線。如果沒有進行對映的話,可以使用docker exec -it mysql bash命令連線到mysql