网站免费视频,wordpress购买阅读,小网站推荐一个,大学生ppt模板免费下载 素材初始Docker
Docker的概念
Docker的用途
DOcke的安装
Docker架构
配置Docker镜像加速器
Docker常用命令
Docker服务相关的命令。
Docker镜像相关的命令
Docker容器相关的命令
容器的数据卷
数据卷的概念和作用
配置数据卷
Docker应用部署
Docker部署mysql
Docker…初始Docker
Docker的概念
Docker的用途
DOcke的安装
Docker架构
配置Docker镜像加速器
Docker常用命令
Docker服务相关的命令。
Docker镜像相关的命令
Docker容器相关的命令
容器的数据卷
数据卷的概念和作用
配置数据卷
Docker应用部署
Docker部署mysql
Docker部署tomcat
Docker部署nginx
搜索nginx镜像
拉取nginx镜像
创建容器设置端口映射、目录映射
使用外部机器访问nginx
Redis部署 初始Docker
Docker的概念
Docker是基于Go语言实现的云开源项目。
Docker的主要目标是“BuildShip and Run Any App,Anywhere”也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理使用户的APP可以是一个WEB应用或数据库应用等等及其运行环境能够做到“一次镜像处处运行”。 Docker的用途
这里引用网上某博主的部分内容Docker 的主要用途目前有三大类。
1提供一次性的环境。比如本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
2提供弹性的云服务。因为 Docker 容器可以随开随关很适合动态扩容和缩容。
3组建微服务架构。通过多个容器一台机器可以跑多个服务因此在本机就可以模拟出微服务架构。
DOcke的安装
Docker可以运行在MAC、Windows、CentOS、UBUNTU等操作系统上本课程基于CentOS7安装Docker。官网: https://www.docker.com # 1、yum包更新到最新[centos更新 虚拟卡打开 ] yum update #2、安装需要的软件包yum-util提供yum-config-manager功能另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、设置yum源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #4、安装docker ,出现输入的界面都按y ce社区版---学习够了 ee版企业版收费 yum install -y docker-ce # 5、查看docker版本,验证是否验证成功 docker -v Docker架构 Docker 镜像Image就是一个只读的模板。镜像可以用来创建 Docker 容器一个镜像可以创建很多容器。 容器(Container) :Docker 利用容器Container独立运行的一个或一组应用。就像是Java中的类和实例对象一样镜像是静态的定义容器是镜像运行时的实体。容器为镜像提供了一个标准的和隔离的运行环境它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台 仓库Repository是集中存放镜像文件的场所。 类似于 Maven仓库存放各种jar包的地方 gitee仓库存放各种git项目的地方 Docker公司提供的官方registry被称为Docker Hub存放各种镜像模板的地方。 仓库分为公开仓库Public和私有仓库Private两种形式。 最大的公开仓库是 Docker Hub(https://hub.docker.com/) 存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等
配置Docker镜像加速器
默认情况下将来从docker hub (https://hub.docker.com/)上下载docker镜像太慢。一般都会配置镜像加速器: sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [ https://do.nark.eu.org, https://dc.j8.work, https://docker.m.daocloud.io, https://dockerproxy.com, https://docker.mirrors.ustc.edu.cn, https://docker.nju.edu.cn ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker Docker常用命令
Docker服务相关的命令。 启动docker服务 systemctl start docker停止docker服务 systemctl stop docker 重启docker服务 systemctl restart docker查看docker服务状态 systemctl status docker开机启动dockeh服务 systemctl enable docker查看docker命令帮助文档 docker 具体命令 --help
Docker镜像相关的命令 查看镜像: docker images 搜索镜像 docker search redis 拉取镜像 docker pull redis:6.0 冒号后跟的是版本号如果不跟默认latest 删除镜像---本地仓库 根据id删除 docker rmi id 根据名称:版本号删除 docker rmi redis:6.0 ------------------------------------------------------- 删除没有开启容器的镜像 删除所有镜像 docker images q --查询所有镜像的id docker rmi (docker images q) Docker容器相关的命令 1.创建容器 2.查看容器 docker ps --查看正在运行的容器 docker ps -a --查看所有容器 3.创建一个容器但不进入容器 4.进入正在运行的指定容器内 这时在使用exit退出容器则不会关闭容器
5.启动/停止/删除容器 docker start 容器名 docker stop 容器名 docker rm 容器id #只删除未启动的容器 docker rm -f 容器id||名称 #删除任何容器 docker ps -aq #查看所有容器的id docker rm docker ps -aq 6.查看容器信息 docker inspect 容器名称 9.输出当前容器日志信息---知道容器启动失败的原因 docker logs 容器id 容器的数据卷
数据卷的概念和作用 配置数据卷 演示: 1. 宿主机容器卷中的内容发生改变对应容器内的目录也跟着改变 2. 容器内的目录发生改变宿主机容器卷内的内容也跟着变化 3. 删除容器后再次开启容器并挂载容器卷。数据依然存在 4. 一个容器挂载多个容器卷 5. 多个容器挂载一个容器卷 注意: 如果数据卷是文件则必须在宿主机中创建该文件否则会自动被认为文件夹创建。 Docker应用部署
Docker部署mysql
搜索mysql镜像 docker search mysql 拉取mysql镜像 docker pull mysql 创建容器设置端口映射、目录映射 docker run -d --namem01 -p 3306:3306 -v /ykq/mysql/log:/var/log/mysql \ -v /ykq/mysql/data:/var/lib/mysql -v /ykq/mysql/conf:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD123456 mysql:8.2.0 参数说明 -p 3307:3306将容器的 3306 端口映射到宿主机的 3307 端口。 -v /ykq/mysql/conf:/etc/mysql/conf.d将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录 -v /ykq/mysql/log:/var/log/mysql将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录 -v /ykq/mysql/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录 -e MYSQL_ROOT_PASSWORD123456初始化 root 用户的密码。 docker run --name elasticsearch -p 9200:9200 \ -p 9300:9300 \ -e discovery.typesingle-node \ -e ES_JAVA_OPTS-Xms64m -Xmx128m \ -v /usr/local/data-docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /usr/local/data-docker/elasticsearch/data:/usr/share/elasticsearch/data \ -v /usr/local/data-docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ --network es-net \ --privileged \ -d elasticsearch:5.6.4 Docker部署tomcat
搜索tomcat镜像 docker search tomcat 拉取tomcat镜像 docker pull tomcat 创建容器设置端口映射、目录映射 # 在/root目录下创建tomcat目录用于存储tomcat数据信息 mkdir ~/tomcat cd ~/tomcat docker run -d --name tomcat01 \ -v $PWD/conf:/usr/local/tomcat/conf \ -v $PWD/webapps:/usr/local/tomcat/webapps \ -p 8080:8080 \ tomcat:8.5 使用外部机器访问tomcat。 docker run -dit --name tomcat8089 --restartalways \ -p 8089:8080 \ -e TZAsia/Shanghai \ -v /opt/docker/tomcat/webapps:/usr/local/tomcat/webapps \ tomcat:8.5 Docker部署nginx
搜索nginx镜像 docker search nginx 拉取nginx镜像 docker pull nginx 创建容器设置端口映射、目录映射 # 在/root目录下创建nginx目录用于存储nginx数据信息 mkdir ~/nginx cd ~/nginx mkdir conf cd conf # 在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容 vim nginx.conf user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; } docker run -p 80:80 \ -d --name nginx \ -v /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /opt/nginx/html:/usr/share/nginx/html \ nginx:latest 参数说明 -p 80:80将容器的 80端口映射到宿主机的 80 端口。 -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf将主机当前目录下的 /conf/nginx.conf 挂载到容器的 :/etc/nginx/nginx.conf。配置目录 -v $PWD/logs:/var/log/nginx将主机当前目录下的 logs 目录挂载到容器的/var/log/nginx。日志目录
使用外部机器访问nginx Redis部署
搜索redis镜像 docker search redis 拉取redis镜像 docker pull redis:5.0 创建容器设置端口映射 docker run -id --namec_redis -p 6379:6379 redis:5.0 使用外部机器连接redis 未完待续