当前位置 : 主页 > 编程语言 > 其它开发 >

docker安装,基本使用,小示例

来源:互联网 收集:自由互联 发布时间:2022-05-30
一、docker概念、作用、术语解释 大海是操作系统,鲸鱼是Docker,集装箱是在Docker 运行的容器! Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植

一、docker概念、作用、术语解释

 

 大海是操作系统,鲸鱼是Docker,集装箱是在Docker 运行的容器! 

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker的作用:简化了环境部署和配置,实现“一次构建,处处运行”,避免了因运行环境不一致而导致的异常。

Docker主机(Host):安装了Docker程序的主机,运行Docker守护进程

Docker镜像 (Image)--类似面向对象中的类:将软件环境打包好的模板,用来创建容器的,一个镜像可以创建多个容器

Docker容器(Container)--类似面向对象中的实例:运行镜像后生成的实例称为容器,每运行一次镜像就会产生一个容器,容器可以启动、停止或删除;容器使用是沙箱机制,互相隔离,是独立是安全的;可以把容器看作是一个简易版的Linux环境,包括用户权限、文件系统和运行的应用等;

Docker仓库 (Repository):用来保存镜像的,仓库中包含许多镜像,每个镜像都有不同的标签Tag<版本>,官方仓库: https://hub.docker.com/

二、使用docker的步骤

docker的文档放在:https://docs.docker.com/

按照提示完成centos7的安装后,uname -r 看下内核信息。

安装docker-ce,https://docs.docker.com/engine/install/centos/

安装所需软件包

命令:yum install -y yum-utils device-mapper-persistent-data Ivm2

设置镜像仓库

命令:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

列出docker ce的版本

命令:yum list docker-ce --showduplicates | sort -r

安装docker

命令:yum install docker-ce

表示安装最新版本,也可以根据上面的list,选择指定版本安装

查看版本

命令:docker version

启动

命令:systemctl start docker

查看状态和信息

命令:systemctl status docker

 

 

docker info

 

停止

命令:systemctl stop docker

 

 

 

重启

systemctl restart docker

设置开机启动

systemctl enable docker

验证

docker run  

例如:docker run hello-world

 

 

 三、docker操作(镜像、容器、更新构建镜像)

1、镜像操作

查找

docker search 镜像名

例如:docker search mysql

 

 

 参数说明:

NAME: 镜像仓库源的名称  DESCRIPTION: 镜像的描述  OFFICIAL: 是否 docker 官方发布  stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。  AUTOMATED: 自动构建。   拉取 docker pull 镜像名:版本,如果版本不指定,默认就是latest 例如:docker pull mysql:5.6   查看所有本地镜像 命令:docker images

各个选项说明:

REPOSITORY:表示镜像的仓库源  TAG:镜像的标签(版本)  IMAGE ID:镜像ID  CREATED:镜像创建时间  SIZE:镜像大小 查看完整镜像id,可以加--no-trunc参数   获取镜像信息 docker inspect 镜像id  

 

 删除指定的本地镜像

docker rmi -f 镜像id或者镜像名:tag,rmi全英文是remove image,-f表示强制删除

 

2、容器操作

运行容器

命令:docker run --name mycentos -it XXX

XXX为容器的id  ,也就是docker里面的image id

推出容器:exit

容器中,很多命令没有,比如ifconfig,可以这样安装:yum install -y net-tools

查看容器

命令:docker ps -a  

 

 docker ps -aq  只显示容器id

 

启动容器

命令:docker start  XX

XX为名称

 

停止容器

docker stop  名称

 

删除容器

docker rm  容器id

一个镜像可以生成多个容器,启动时不指定名称,名称是是随机定义的

docker rm -f $(docker ps -aq)  批量删除容器

也可以写成docker rm -f 容器1 容器2

 

示例:docker安装tomcat

docker pull tomcat

docker image

docker run --name mytomcat -p 9999:8080 tomcat 

docker ps

docker exec -it {容器id}  /bin/bash

进入webapps文件夹,将webapps.dist重命名为webapps

更新镜像:docker commit -m="描述"  -a="作者" 容器id  mytomcat2:v2

将修改后的容器提交生成一个新镜像

-m是描述,-a是作者

通过新镜像,运行容器  :docker run --name mytomcat2_con  -p 8888:8080 mytomcat2:v2

如果后台运行,加上-d

 

查看日志

docker logs 容器id或者容器名称,可以看到日志

例如:docker logs mytomcat2_con

 

拷贝

宿主机拷贝到容器中

docker cp

 

挂载

共享目录,运行下面的命令

docker run --name mytomcat2_con -p 8888:8080 -v /root/docker_test/tomcat/mydata:/usr/local/tomcat/mydata -d mytomcat2:v2

mydata目录在容器中会自动创建,可以看到宿主机对应目录下的文件

docker exec -it xxxxxxxxxxxx /bin/bash

 

获取元信息

docker inspect 容器id

默认是rw,表示读写,如果容器中不能改,可以改为只读ro

-v /root/docker_test/tomcat/mydata:/usr/local/tomcat/mydata:ro

3.实例

实例一:使用docker搭建环境

构建镜像方式

更新镜像:使用docker commit命令

构建镜像:使用docker build命令,需要创建Dockerfile文件

需要重新定义dockerFile文件,然后重新build

docker build -t mycat/tomcat:1.0

然后运行容器

 

 

实例二:docker+Jmeter+grafana+influxdb搭建可视化性能测试监控平台

 看链接:

 
网友评论