Docker学习之旅--初识docker

Posted 赵jc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker学习之旅--初识docker相关的知识,希望对你有一定的参考价值。

Docker

安装Docker

  1. 查看内核版本(Linux操作系统Centos7,Linux内核版本至少在3.10以上)
    使用uname -a命令查看
uname -a
  1. 更新yum包
yum update
  1. 安装docker
yum makecache fast #设置一个缓存
yum install docker -cd #安装最新版本
  1. 启动docker,加入开机启动,验证安装
systemctl start docker
systemctl enable docker
docker version
  1. 测试
docker pull hello-world
docker run hello-world
docker  images
  1. 卸载docker
yum list installed | grep docker
yum -y remove docker名称

docker的中央仓库

docker而的中央仓库,就是存放镜像的网站,别人可以从这个网站中去下载镜像来使用。
一、官网(镜像最全,但下载速度最慢)

  • https://hub.docker.com/

二、国内镜像

  1. 网易蜂巢 http://c.163.com/hub
  2. daoCloud(推荐)http://hub.daoCloud.io/

docker镜像操作

  • 拉取镜像到本地
docker pull 镜像名称[:版本号]
  • 查看本地的全部镜像
docker images
  • 删除本地镜像
docker rmi 镜像的id
  • 修改镜像名称
docker tag 镜像的id 新镜像的名称:版本
  • 镜像的导入导出(不太正规)

当我们的网络很慢的啥时候,下载镜像比较麻烦,而别人有这个镜像的话可以直接导出到本地发给我们,我们收到文件后加载到本地即可

将本地镜像导出

docker save -o导出路径 镜像的id

加载本地的镜像文件(加载后镜像的名称和tag都为none,所以需要我们手动修改镜像的名称)

docker load -i 镜像文件

docker容器操作

一、运行容器
简单操作

docker run 镜像的标识镜像名称[:tag]

常用参数

docker run -d -p宿主机端口:容器端口 --name 容器名称 镜像的标识镜像名称[:tag]
  • -d:代表后台运行容器
  • -p:宿主机端口号:容器端口:为了映射当前Linux的端口和容器的端口
  • –name:指定容器的名称

    二、查看正在运行的容器信息(查看容器的id等信息)
docker ps [-qa]
  • -a:查看全部的容器,包括没有运行的
  • -q:只查看容器的标识(容器的id)

三、查看容器的日志

docker logs -f 容器id
  • -f:可以滚动查看日志的最后几行

四、进入到容器内部

docker exec -it 容器id bash

无、删除容器\\镜像(删除容器前,需要先停止容器)

  • 停止指定的容器
docker stop 容器id
  • 停止全部容器
docker stop $(docker ps -qa)
  • 删除指定容器
docker rm 容器id
  • 删除全部容器
docker rm $(docker ps -qa)
  • 启动容器
docer start 容器id

五、将项目部署到Tomcat
前提条件是服务器已经存在tomcat容器

  • 先将项目文件上传到服务器
  • 将项目拷贝到tomcat容器的webapps目录下
docker cp 项目文件名称 容器id:/usr/local/tomcat/webapps

docker数据卷

为了部署我们的项目工程,需要使用到cp命令将宿主机内的项目文件复制到文件内部,但如何经常修改的话比较繁琐,所以接下来我们来介绍一种新的方法—数据卷。
数据卷:将宿主机的一个目录映射到容器的一个目录中,可以在宿主机中操作目录中的内容,那么容器内部映射的文件也会随着一起改变。

  • 创建数据卷
docker volume create 数据卷名称
#创建数据卷之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data
  • 查看数据卷的详细信息
docker volume inspect 数据卷名称
  • 查看全部的数据卷
docker volume ls
  • 删除数据卷
docker volume rm 数据卷名称
  • 数据卷的实际应用

当你映射数据卷时,如果数据卷不存在,docker会帮你自动创建,会将容器内部自带的文件,存储在默认的存放路径中。
一共有两种常用的方式

第一种:这种就是直接映射的是数据卷默认存储的地址-/var/lib/docker/volumes/数据卷名称/_data

docker run -v 数据卷名称:容器内部的路径 镜像id

第二种:直接指定一个路径作为数据卷存放的位置,这个路径下是空的,就不需要创建数据卷了

docker run -v 自定义路径:容器内部的路径 镜像id

dockerfile自定义镜像

这里可以看看这位大佬写的文章,挺详细的https://blog.csdn.net/weixin_45932821/article/details/113760946?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165476233216782388075113%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165476233216782388075113&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-113760946-null-null.142v11pc_search_result_control_group,157v13control&utm_term=dockerfile&spm=1018.2226.3001.4187

docker-compose

一、docker-compose的性质:

  • 运行一个镜像,需要添加大量的参数(-d -p等等)
  • 可以通过docker-compose来编写这些函数
  • docker-compose可以帮助我们批量的管理容器
  • 只需要通过一个docker-compose.yml文件去维护即可

二、下载安装

  • 1.去github官网搜索docker-compose,下载对应版本的Docker-Compose
https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64
  • 2.将下载好的文件,上传到服务器中
  • 3.需要将DockerCompose文件的名称修改一下,基于DockerCompose文件一个可执行的权限
mv docker-compose-Linux-×86_64 docker-compose
chmod 777 docker-compose
  • 4.方便后期操作,配置一个环境变量
  • 5.将docker-compose文件移动到了/usr/local/bin,修改了/etc/profile文件,给/usr/local/bin配置到了PATH中

三、docker-compose的具体使用,可以参考这篇文章
https://blog.csdn.net/pushiqiang/article/details/78682323?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165476309016782184654642%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165476309016782184654642&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-78682323-null-null.142v11pc_search_result_control_group,157v13control&utm_term=docker+compose&spm=1018.2226.3001.4187

相关命令:

  1. 基于docker-compose.yml启动管理的容器
docker-compose up -d
  1. 关闭并删除容器
docker-compose down
  1. 开启关闭重启已经存在的由docker-compose维护的容器
docker-compose start|stop|restart
  1. 查看由docker-compose管理的容器
docker-compose ps
  1. 查看日志
docker-compose logs -f
开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于Docker学习之旅--初识docker的主要内容,如果未能解决你的问题,请参考以下文章

Docker学习之旅--初识docker

初识Mongodb,从了解,安装到使用

从零开始学习Docker (初识Docker)

docker学习-docker仓库

Docker容器学习梳理-容器时间跟宿主机时间同步

Docker学习笔记走进docker的世界