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

原文地址:https://www.cnblogs.com/seancheer/p/13993365.html