Docker容器技术

第一部分:docker安装

Docker支持的Ubuntu的版本:

Ubuntu Trusty 14.01(LTS)(64-bit);

Ubuntu  Recise 12.04 (LTS)(64-bit);

Ubuntu   Raring 13.04 and Saucy 13.10 (64-bit);

Docker 安装前检查:

  1. 内核检查(内核3.1版本以上才行,否则需要升级)

   uname -a

    2.检查Device Mapper

     ls -l /sys/class/misc/device-mapper

    3、安装docker

    sudo apt -get install docker.io    (sudo是以普通用户身份调用管理者权限,没有管理者权限无法安装)

   4、安装docker-ce 包

   sudo apt -get install docker-ce

使用非root用户进行 组添加,用户添加 以保证普通用户正常使用docker命令

sudo groupadd dockername   创建docker用户组,组名自命名

sudo gpasswd -a ${user} dockername  添加普通用户到用户组

Sudo service  docker restart

没添加用户组之前启动镜像:

Sudo docker run imagename  echo ‘hello’      --成功启动时返回信息

添加之后

docker run imagename echo  ‘hello’

第二部分:docker 架构介绍

 

基本命令介绍:

docker pull 从registery上拉取镜像

docker build 创建镜像

docker images  列出所有镜像

docker run -it image名称:版本号     #不写版本号默认是最后一个版本  交互模式调试时用,否则用静默模式

docker run -d  --name  image名称:版本号   #静默模式启动,容器重命名

docker run  ${containerId}  #运行container

docker  ps   #列出container

docker  ps  -a  #列出所有container,包括停用的

docker ps |grep jekins   #查找jekins

docker  rm  ${containerId}    删除container

docker  rmi  ${imageId}    删除image ,删除image之前要先删除container,否则报错

docker rmi -f  ${imageId}   #强制删除镜像,如果有container,先删除container再删除镜像

docker  cp    #在host和container之间拷文件

docker  commit  #保存改动为新的镜像

docker version  #查看docker版本

docker  exec -it  cintainername bash  #交互模式进入容器内脚本--容器就是简易化的操作系统,没界面 ,exit推出交互模式

 docker run -d -p 9002:9001 --name eureka  repository:5000/demo-service-eureka

  ##repository:5000 组名   demo-service-eureka 应用名

 访问物理机时的请求,由此访问到虚拟机(容器)的9001端口---物理机和容器间的映射

 -v  磁盘挂载,将容器中的配置文件挂载到物理机上防止丢失,两者之间数据同步。配置文件和日志等重要文件一般会使用这个命令。

 -o 表示输出 将镜像保存成tar文件

import 将tar文件导入到另一个网络中进行安装部署、离线部署

dockerfile

使用案例:

将ngnix首页替换成自己写的页面:

docker   cp index.html  ${containerId}://usr/share/ngnix/html

docker  stop  ${containerId}  停止容器

docker  commit -m  ‘fun’  ${containerId}  docker/test 将修改的镜像保存到docker/test 持久化

注释:每个image都有自己的id,由image运行得到container,每次运行都会得到一个容器,所以可能会有多个容器,每个容器也有自己的id。

第三部分:dockerfile构建镜像

命令介绍:

from       base image

Run        执行命令

Add        添加文件

Copy       拷贝文件

Cmd       执行命令

Expose     暴漏端口

Workdir    指定路径

Maintainer   维护者

ENV      设定环境变量

ENTRYPOINT  容器入口

User       指定用户

Volume   mount point

mkdir  dockerfile  创建文件夹

touch   dockerfile  创建文件

例1、dockerfile  文件内容:

touch index.html    创建文件

docker build -t dockerfile/test .       构建镜像

docker run  -p  80:80  -d dockerfile/test  运行镜像产生容器

例2、制作skywalking镜像

 

第四部分:docker综合应用

  1. 如何将web项目部署到docker中

工具准备:

  1. 在docker 中安装tomcat镜像
  2. 在docker 中安装mysql镜像
  3. 本地准备好javaEE的war包---注意数据库链接得是虚拟机数据库ip地址
  4. JavaEE涉及到的sql文件

安装步骤:

  1. )在docker中安装tomcat

docker pull docker.io/tomcat

运行tomcat并测试

docker run  -p  8080:8080   -d daocloud.io/tomcat    ---tomcat默认端口8080,不能改

2.)将本地准备好的war包考到tomcat容器中的webapps里

docker cp 项目相对路径  ${tomcatContainerId}://usr/local/tomcat/webapps

3.)在docker中安装mysql镜像

docker pull docker.io/mysql

拉取镜像后创建mysql容器, -itd 允许后台运行

docker run -itd  --name mysql  -p  3306:3306 -e MYSQL_ROOT_PASSWORD=123456  mysql

进入容器内部

docker exec -it mysql bash

  使用MySQL:

  mysql  -uroot  -p

  use  ${databaseName}

4.)javaEE涉及到的sql文件导入执行创建表和数据

2、springboot项目在docker中部署:

方案一:

1)引入插件

 

 方案二:

在父工程的pom文件添加以下内容后执行maven、启动docker

 

 第五部分:常用软件的docker安装

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rose and war

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值