容器技术docker入门

环境:centOS8

一、docker的安装

1.安装必要的组件

yum install -y yum-utils device-mapper-persistent-data lvm2

  -y 自动确认安装

  yum-utils yum工具集组件

  device-mapper-persistent-data,lvm2 数据存储的驱动包

 2.设置新的安装源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 阿里云镜像安装源

  add-repo  设置新的安装源

 

 3.优先使用安装最快的安装源

yum makecache 是 将服务bai器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度

yum makecache fast

  如果报错去掉fast,在centos8中没有fast

 4.安装docker

查看版本

yum list docker-ce --showduplicates | sort –r

  

   安装命令:

yum –y install docker-ce

  指定版本安装命令:

yum install docker-ce-3:19.03.9-3.el7.x86_64

  出现的问题:

 原因:centos8默认使用podman代替docker,所以需要containerd.io,那我们就安装一下就好了

yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm

  继续安装:

 5.启动docker

service docker start

  

 6.查看docker版本

docker version

  

 7.检查docker是否能够运行

docker pull hello-world

  从国外的远程中央仓库中名为hello-world的镜像抽取下载到本地。

 

 8.测试

docker run hello-world

  

 附:

  Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的:

  yum -y update

  升级所有包同时也升级软件和系统内核

  yum -y upgrade
  只升级所有包,不升级软件和系统内核


二、配置阿里云docker镜像加速

1.登录阿里云

2.搜索‘容器镜像服务’

3.点立即开通

4.找到镜像加速菜单

5.将加速代码粘贴到服务器执行


三docker 概念介绍

docker 服务器  docker deamon 守护进程

docker 基于rest API 通信层

docker 客户端


四、docker常用命令详解

1.docker pull 镜像名<:tags>  --从远程仓库抽取镜像

2.docker images –查看本地镜像

3.docker run 镜像名<:tags> --创建容器,启动应用

此时发现浏览器无法访问,是因为容器与主机之间没有映射

docker宿主机与容器之间的通信 ---- 端口映射

docker run -p 8000:8080 tomcat

查看监听 :
netstat -tulpn

后台运行:
docker run -p 8000:8080 -d tomcat

 4.docker ps –查看正在运行中的镜像

 5.docker rm <-f> 容器id –删除容器

  

移除:
docker rm 68d4d6c6e803

 发现报错了,原因是不能直接rm,需要先stop 再 rm,如下:

docker stop 68d4d6c6e803

docker rm 68d4d6c6e803

 也可以使用强制移除命令,就不用先停止了

docker rm -f 68d4d6c6e803 

6.删除镜像

docker rmi <-f> 镜像名:<tags>

docker rmi tomcat:8.5.61-jdk8-openjdk

 如果容器已启动,无法移除:

可以强制移除:
docker rmi -f tomcat


五、tomcat容器内部结构

容器:轻量级虚拟化技术

中央仓库地址: hub.docker.com

  linux(Red Hat 4.8.5-28)

  jdk(1.8.0_222)

 

  Apache Tomcat/8.5.46

当我们在执行命令;docker run tomcat 后容器中就自动包含以上组件。

我们也可以在容器中执行linux命令,因为容器本身就是一个迷你版的linux操作系统

具体如下:

在容器中执行命令:
    
格式: docer exec [-it] 容器id 命令

exec在对应容器中执行命令
-it 采用交互方式执行命令

实例:docer exec –it *********** /bin/bash

以下以tomcat容器为例:

创建一个tomcat容器:
docker run -d -p 8000:8080 tomcat

进入容器内部:

docker exec -it fc035285d037 /bin/bash

查看linux内核版本:

cat /proc/version

 查看jdk版本:

java -version

 退出容器内部:

exit

 docker 默认存放路径:

/var/lib/docker

    镜像存放在image目录下

    容器存放在containers目录下



六、容器生命周期

状态:stopedruningpauseddeleted

待续。。。 


 七、dockerfile构建镜像

  dockerfile镜像描述文件,是一个包含用于组合镜像的命令的文本文档

 

  作用:docker通过读取dockerfile中的指令按步自动生成镜像

 

  指令:docker build –t 机构/镜像名<:tags> dockerfile目录

 

以下我们构建一个自定义的tomcat镜像并启动该容器

实例dockerfile自动部署tomcat应用:

dockerfile文件内指令:

FROM tomcat:latest
MAINTAINER mashibing.com
WORKDIR /usr/local/tomcat/webapps
ADD docker-web ./docker-web

步骤:

  1.先在本地创建一个docker-web的文件夹

  2. docker-web文件夹内创建一个html文件

  3.docker-web文件夹同级目录下创建Dockerfile文件,注意:该文件不加任何后缀

  4.docker-webDockerfile传至linux服务器,注意:不是容器内部

  5.使用build命令构建自定义镜像

  

docker build -t mytest/mywebapp:1.0 /usr/image/

 6.启动容器

docker run -d -p 8001:8080 mytest/mywebapp:1.0

 7.测试


八、dockerfile 基础命令

FROM – 基于基准镜像

LABEL& MAINTAINER –说明信息

  MAINTAINER   cn.test.com

  由个人或机构维护

  LABEL   version = “1.0”

  关键信息描述

  LABEL   description = “呵护”

WORKDIR  - 设置工作目录

  WORKDIR   /usr/local

  WORKDIR  /usr/local/newdir  #可自动创建目录

  尽量使用绝对路径

ADD&COPY  -- 复制文件

  ADD hello /    # 复制文件到根路径

  ADD test.tar.gz /   #添加根目录并解压

  ADD 除了复制,还具备添加远程文件功能

ENV –设置环境常量

  ENV JAVA_HOME /usr/local/openjdk8

  run ${JAVA_HOME }/binjava –jar test.jar

  尽量使用环境常量,可提高程序维护性


九、

原文地址:https://www.cnblogs.com/bjsze/p/14183170.html