工作原理
Docker是一個開源的應用容器引擎。
Docker的理念類似於Windows的鏡像系統:
原生的Windows系統拿到手以後要安裝一系列的東西,如果每個人拿到手都要重新安裝會很麻煩,可以一個人安好一份完整的以後做出鏡像系統,其他人直接拿來就用。
Docker支持將安裝好的軟件編譯打包成鏡像,其他服務器直接拿鏡像來運行就可以。
運行的一個鏡像就是一個容器。
核心概念
Docker主機(host):安裝了docker程序的機器。(docker是直接安裝在系統之上的)
Docker客戶端(client):就是一個客戶端程序,連接docker主機,通過命令行或者其他工具來進行操作。
Docker倉庫(registry):用來保存各種打包好的docker鏡像。
Docker鏡像(image):打包好的軟件。
Docker容器(container):鏡像啓動後的實例稱爲一個容器。每一個鏡像運行一次就會產生一個容器。容器是獨立運行的一個或者一組應用。
環境搭建
Docker要求Linux的內核版本必須3.10
查看內核版本:uname –r
升級內核版本:yum update
安裝docker:yum install docker
啓動docker:systemctl start docker
停止docker: systemctl stop docker
查看docker版本號:docker –v
開機自啓docker:systemctl enable docker
常用操作
鏡像操作
docker的鏡像都存在 docker hub上面
查找鏡像:docker search mysql(mysql是鏡像名)
拉取鏡像:
docker pull mysql(mysql是鏡像名) 或者
docker pull mysql:tag(tag版本號,在hub上可以查找到)
查看當前操作系統中所有鏡像:docker images
刪除鏡像: docker rmi IMAGE ID(可以通過docker images看到)
容器操作
運行鏡像就會產生一個容器
運行容器(首次啓動):docker run –name mytomcat(名字可以自己取) –d tomcat:latest
查看運行中的容器:docker ps
查看所有容器:docker –a
停止運行中的容器:docker stop CONTAINER ID(可以通過docker ps-a命令查看)
啓動容器:docker start CONTAINER ID(可以通過docker ps-a命令查看)
刪除容器:docker rm CONTAINER ID
備註:由於每一次啓動都會產生一個容器,可以用刪除命令來刪除啓動失敗的容器。
端口映射:docker run –name 名字 –d –p 8888:8080 tomcat:latest
-d 表示後臺運行 –p表示端口映射 虛擬機端口:容器端口
注意:不做端口映射通過8080端口是訪問不到啓動的鏡像應用的,因爲這裏的8080是應用在容器中的端口號,不是應用在虛擬機中的端口號。
啓動mysql:docker run –p 3306:3306 –name mysql01 –e MYSQL_ROOT_PASSWORD=admin
-d mysql
處理navcat連接失敗:
https://blog.csdn.net/Alalafan/article/details/81358551
<1> docker start mysql 進入MySql
<2> docker ps -a 查出自己創建的container(容器)的ID
<3> docker exec -it 63c9e29aelef bash (每個人創建的container ID都不一樣)
<4> mysql --user=root --password
<5> ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '1234567';