docker使用總結

1、docker的基本概念html

 

  • Docker使用Google公司推出的Go語言進行開發實現,基於Linux內核的cgroup, namespace,以及AUFS類的UnionFS(具體實現爲overlay2)等技術(三大要點),對進程進行封裝隔離,屬於操做系統層面的虛擬化技術。 因爲隔離的進程獨立於宿主和其它的隔離的進程,所以也稱其爲容器。Docke最初實現是基於LXC(即Linux container)。
  • Docker能夠作到秒級、甚至毫秒級的啓動時間;善於處理集中爆發的服務器使用壓力;以很輕易的將在一個平臺上運行的應用,遷移到另外一個平臺上;使用Docker能夠經過定製應用鏡像來實現持續集成、持續交付、部署。
  • docker、oci、runc以及kubernetes:(參考連接1)  
  • Docker技術三大要點:cgroup, namespace和unionFS的理解 (參考連接1)  
  • 衆 所周知,Docker使用了Linux的Namespaces技術來進行資源隔離,如PID Namespace隔離進程Mount Namespace隔離文件系統Network Namespace隔離網絡等。
  • Docker內置這四種網絡,使用該docker run --network=<NETWORK>選項指定,bridge 模式爲默認選項。host模式:使用 --net=host 指定;none模式:使用 --net=none 指定;bridge模式:使用 --net=bridge 指定,爲默認設置;container模式:使用 --net=container:NAME_or_ID 指定。 (參考連接1)  

 

 


 2、docker基本的使用java

0 ) docker 經常使用命令:mysql

1)基本docker命令:sudo docker version  Docker版本信息;  sudo docker info  Docker運行狀態   nginx

2)docker 安裝mysql數據庫並啓動   參考連接1  參考連接2    docker上啓動mysql   sql

1)docker pull mysql 2)docker run --name htc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql 【啓動容器htc-mysql並設置root密碼123456,且將容器內部的端口3306映射到上級的機器端口3306】 3)docker exec -it &htc-mysql& /bin/bash 【進入mysql數據庫容器】 4)mysql --host=localhost -u root -p 【進入本機mysql數據庫】 5)mysql> update user set password_expired = "Y"where user="root"; 6)mysql>  ALTER USER'root'@'locahost' IDENTIFIED WITH mysql_native_password BY '123456'; (docker版本和mysql版本不配產生的問題) 7)mysql> grant all privileges on *.* to 'root'@'%'8)flush privileges;
View Code

3) 安裝NGINX鏡像後本地啓動NGINX:  docker run -p 8080:80 -d docker.io/nginx:docker部署nginx : (參考連接1docker

4)docker的網絡:一、宿主主機訪問虛擬機中的docker服務配置: (參考連接1   2shell

5)docker一句話:1:安裝 yum install docker  2:啓動、中止docker: service docker start\stop 3:顯示已經安裝的鏡像 docker image 4:列出已經安裝的容器:docker ps -a 5:docker ps 列出正在運行的容器 6:docker run ($容器名稱) 建立容器 7:刪除 容器:docker rm ($容器名稱) 8:docker stop/start  ($容器名稱)[啓動、中止容器]數據庫

6) docker網絡中的容器若是須要互相之間通信則,須要修改下列文件:/etc/sysconfig/docker-network 中的DOCKER_NETWORK_OPTIONS= 爲「--icc=true」  vim

7) docker中容器停中止了,須要重啓又生效,若是再經過docker run安裝鏡像,則原來的容器配置就看不到了。centos

 


三,docker的排錯與優化

 

1)Docker報錯 WARNING: IPv4 forwarding is disabled. Networking will not work.:解決辦法:vim /usr/lib/sysctl.d/00-system.conf

添加以下代碼: net.ipv4.ip_forward=1   重啓network服務   systemctl restart network

2)關於Docker目錄掛載:# docker run -it -v /test:/soft centos /bin/bash (譬如我要啓動一個centos容器,宿主機的/test目錄掛載到容器的/soft目錄)參考:(參考連接1

 3)清理docker的目錄文件等(docker info|grep -i storage  ~~~||~~~ docker system prune ):(參考連接1  )

相關文章
相關標籤/搜索