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(负载分析和展示时序数据)

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