docker建立和使用mysql
阿新 • • 發佈:2020-11-17
-
container
和image
是兩種不同的概念,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
-
docker ps
命令預設只顯示正在執行的container
,使用docker ps -a
可以看到已經退出的container
,如果需要重新啟動之前的container
,那麼直接使用docker start [container_id]
就可以啟動。 -
對於mysql的
docker
,注意需要將docker
的檔案對映到主機,否則客戶端可能無法連線。如果沒有進行對映的話,可以使用docker exec -it mysql bash
命令連線到mysql