Docker入門

前言

關於什麼是docker,以及docker有什麼優勢等請自行百度,本文章假定你已經瞭解docker的基本概念

Docker安裝

https://blog.csdn.net/lin521lh/article/details/78355433

基本命令

啓動:systemctl start docker
停止:systemctl stop docker
重啓:systemctl restart docker
查看docker狀態:systemctl status docker
開機啓動:systemctl enable docker
查看docker概要信息:docker info
查看docker幫助文檔:docker --help

常用命令

常用命令分爲鏡像,容器,和其他部分

鏡像

查看本地鏡像:docker images
搜索鏡像:docker search centos
拉取鏡像:docker pull tutum/centos
刪除鏡像:docker rmi 鏡像ID
刪除所有鏡像:docker rmi `docker images -q`
鏡像備份:docker save -o mynginx.tar mynginx_i
鏡像恢復:docker load -i mynginx.tar

容器

創建刪除與啓動

交互式方式創建容器:docker run -it --name=mycentos centos:7 /bin/bash
守護式方式創建容器:docker run -di --name=mycentos2 centos:7
進入守護式創建的容器:docker exec -it mycentos2 /bin/bash
停止:docker stop 容器ID
啓動:docker start 容器ID
容器保存爲鏡像:docker commit mynginx mynginx_i
刪除容器:docker rm mycentos3
拷貝:docker cp xx.cfg mycentos2:/usr/locar

查看

查看正在運行的容器:docker ps
查看所有容器:docker ps -a
查看最後一次運行的容器:docker ps -l
查看停止的容器:docker ps -f status=exited
查看容器IP:docker inspect [--format='{{.xxxx}}'] mycentos3

其他

目錄掛載:docker run -di -v /usr/locar/myhtml"/usr/locar/myhtml --name=mycentos3 centos:7

應用部署

應用部署一般有兩種方式,通過命令或者Dockerfile的形式。

命令方式

mysql
	拉取:mysql:docker pull mysql-57-centos7
	創建容器:docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
tomcat
	拉取:docker pull tomcat:7-jre7
	創建容器:docker run -di --name=mytomcat -p 9000:8080 -v /usr/locar/webapps:/usr/locar/webapps tomcat:7-jre7
nginx
	拉取:docker pull nginx
	創建容器:docker run -di --name=mynginx -p 80:80 nginx
redis
	拉取:docker pull redis
	創建容器:docker run -di --name=myredis -p 6379:6379 redis

Dockerfile方式

創建Dockerfile文件
在Dockerfile文件中輸入命令
構建鏡像:docker build -t='xxxx' .

docker私有倉庫

搭建與配置

拉取私有倉庫鏡像:docker pull registry
啓用私有倉庫容器:docker run -di --name=registry -p 5000:5000 registry
輸入IP:5000/v2/_catalog 返回{"repositories":[]}代表成功
修改文件使docker信任私有倉庫地址:vi /etc/docker/daemon.json 添加內容 {"insecure-registries":["192.168.184.141:5000"]}
重啓docker:systemctl restart docker

上傳鏡像到私有倉庫

對nginx鏡像打標籤:docker tag nginx 192.168.183.141:5000/nginx
上傳:docker push 192.168.183.141:5000/nginx
再次訪問IP:5000/v2/_catalog 返回{"repositories":["nginx"]}

其他機器從私有倉庫拉取此鏡像

修改文件使docker信任私有倉庫地址:vi /etc/docker/daemon.json 添加內容 {"insecure-registries":["192.168.184.141:5000"]}
重啓docker:systemctl restart docker
docker pull 192.168.183.141:5000/nginx

Rancher

rancher可以實現容器的擴容與縮容,以及負載均衡器,本處不做闡述。

實現數據的展示和監控

cAdvisor(負載收集容器的隨時間變化的數據)
influxDB(負載存儲時序數據)
Grafana(負載分析和展示時序數據)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章