docker学习之旅--初识docker(代码片段)

赵jc 赵jc     2022-12-09     459

关键词:

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

docker学习笔记.初识docker(代码片段)

Docker一,惊鸿一瞥二,Docker入门1,运行容器2,简单使用3,守护式容器4,在容器内部运行进程5,自动重启容器和删除容器6,深入容器三,使用Docker镜像和仓库1,基本镜像操作2,用Docker... 查看详情

docker构建之旅(代码片段)

Docker构建之旅##构建三个docker,php、nginx、mysql三个镜像###1,先从docker仓库里面拉取centos镜像,和mysql镜像dockerpulldocker.io/centosdockerpilldocker.io/mysql###2,创建一个网络,我们一会使用这个网络进行container之间的联系。dockernetworkcreate-... 查看详情

docker初识(代码片段)

Docker1、Docker架构http://blog.csdn.net/u012562943/article/category/6048991/1Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。Docker容器通过Docker镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。Docker... 查看详情

docker学习笔记.初识docker(代码片段)

Docker一,惊鸿一瞥二,Docker入门1,运行容器2,简单使用3,守护式容器4,在容器内部运行进程5,自动重启容器和删除容器6,深入容器三,使用Docker镜像和仓库1,基本镜像操作2,用Docker... 查看详情

docker02docker初识:第一个docker容器和docker镜像(代码片段)

目录[TOC]一、第一个Docker容器        使用dockerrun命令时,如果在本地没有改镜像,那么会直接重DockerHub(一个官方的镜像库)中拉取镜像。dockerrun--rmhello-world#运行结果展示Unabletofindimage‘hello-world:late... 查看详情

数据对接-etl之streamset学习之旅一(代码片段)

目录学习系列StreamSet介绍StreamSet安装1.RPM安装2.Docker镜像安装存储应用引用链接学习系列数据对接-ETL之StreamSet学习之旅一数据对接-ETL之StreamSet学习之旅二数据对接-ETL之StreamSet学习之旅三数据对接-ETL之StreamSet学习之旅四数据对接-... 查看详情

docker初识(代码片段)

一、Docker简介Docker是一个开源的应用容器,用户可以将web程序和服务打包到一个轻量级、可以移植的容器中,然后发布到任务流行的Linux服务器上,实现虚拟化。同时完全是沙箱操作,即Docker内部是一个沙箱操作,项目之间不会... 查看详情

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

从零开始学习Docker第一篇初识Docker提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加第一篇初识Dockerhttps://editor.csdn.net/md/?articleId=121790797文章目录从零开始学习Docker前言一、Docker是什么?二、... 查看详情

go语言学习之旅--初识golang(代码片段)

Go语言简介特点编码风格Go安装测试Go(又称Golang)是Google的RobertGriesemer,RobPike及KenThompson开发的一种静态强类型、编译型语言。Go语言语法与C相近,但功能上有:内存安全,GC(垃圾回收),结... 查看详情

畅享docker-compose之旅及编排wordpress报错解决(代码片段)

目录理论一、部署Nginx服务1.安装docker-compose2.compose编排Nginx3.docker-compose管理命令二、搭建wordpress的博客1.创建yml文件2.启动WordPress容器3.登录网页安装扩展1.使用已有网络2.使用docker-compose自动创建的网络理论​1.是什么?docker... 查看详情

springcloud之微服务实用篇3-docker(代码片段)

...天继续学习微服务的知识,今天的主要任务就是学习Docker,包括了解docker的工作原理、基本操作、Dockerfile自定义镜像,Docker-Compose对镜像进行集群部署,以及Docker镜像服务等。目录一、初识Docker1.1、Docker的工作原... 查看详情

springcloud之微服务实用篇3-docker(代码片段)

...天继续学习微服务的知识,今天的主要任务就是学习Docker,包括了解docker的工作原理、基本操作、Dockerfile自定义镜像,Docker-Compose对镜像进行集群部署,以及Docker镜像服务等。目录一、初识Docker1.1、Docker的工作原... 查看详情

初识docker

1.初识docker为了解决环境不一样而出错的问题,把环境和代码一起打包 2.安装docker3.docker架构配置镜像加速器使用阿里云4.docker服务相关的命令5.镜像相关命令 6.docker容器相关命令  查看详情

docker基础命令学习(代码片段)

Docker学习Docker简介虚拟机和Linux容器Docker中基本概念镜像(Image)容器(Container)仓库(Repository)分层存储Docker的安装Centos6安装DockerCentos7安装Docker配置阿里云镜像加速器配置HelloWorld镜像底层运行原理Docker常用命令帮助命令dockerversion---查... 查看详情

linux学习--docker学习(代码片段)

容器技术Docker安装和使用#安装yum工具包[root@docker~]#yuminstall-yyum-utils#配置阿里云镜像[root@docker~]#yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#安装最新版本的DockerEngi 查看详情

docker教程-1-学习及安装docker(代码片段)

转自:Docker教程-1-学习及安装Docker,更优体验:http://www.kongzid.com/目录1、Docker介绍1.1 Docker的来源1.2 Docker是什么1.3 Docker特点1.4 Docker的应用场景1.5 Docker的优势2、Docker版本及安装要求2.1Docker版本介绍2.2Docker安装要求3... 查看详情

docker教程-1-学习及安装docker(代码片段)

目录1、Docker介绍1.1 Docker的来源1.2 Docker是什么1.3 Docker特点1.4 Docker的应用场景1.5 Docker的优势2、Docker版本及安装要求2.1Docker版本介绍2.2Docker安装要求3、Docker的核心概念3.1 Docker引擎3.2Docker的组成4、LinuxUbuntu 安装Docker4.1查看系... 查看详情

docker学习(代码片段)

1、简介Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启... 查看详情