没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Docker 学习笔记
一、Docker 的安装和部署
1、docker 依赖 linux 的内核
如果使用 centos7 以下的,请先升级 linux 内核
2、安装
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum -y install docker-io
3、安装启动
docker version
若输出了 Docker 的版本号,则说明安装成功,我们下面就可以开始使用 Docker 了。
可通过以下命令启动 Docker 服务:service docker start
4、搜索镜像
5、下载镜像
用命令:docker pull centos
此镜像是最小的 centos 镜像,后续需要自己安装用到的工具
查看已有镜像
6、容器中安装新程序
在镜像里面安装 ping 程序
在执行 apt-get 命令的时候,要带上-y 参数。如果不指定-y 参数的话,apt-get 命令会进入交
互模式,需要用户输入命令来进行确认,但在docker 环境中是无法响应这种交互的。
正确的命令:$docker run centos/latest apt-get install -y ping
yum install net-tools 安装 ifconfig
另一种方法是,登录到容器中进行安装方法如下:
docker run -i -t -v /root/software/:/mnt/software/
25
c5298b1a36 /bin/bash
这条命令比较长,我们稍微分解一下,其实包含以下三个部分:
docker run <相关参数><镜像 ID><初始命令>
其中,相关参数包括:
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
假设我们的所有安装程序都放在了宿主机的/root/software/目录下,现在需要将其挂载到容
器的/mnt/software/目录下。
需要说明的是,不一定要使用“镜像
ID”,也可以使用“仓库名 :标签名”,例如:
docker.cn/docker/centos:centos6。
初始命令表示一旦容器启动,需要运行的命令,此时使用“/bin/bash”,表示什么也不做,
只需进入命令行即可。
//安装 JDK
tar -zxf /mnt/software/jdk-7u25-linux-x64.tar.gz -C .
//改路径
mv jdk1.7.0_25/ jdk/
//安装 tomcat
tar -zxf /mnt/software/apache-tomcat-7.0.67.tar.gz -C .
//改路径
mv apache-tomcat-7.0.67/ tomcat/
//设置环境变量
export JAVA_HOME=/jdk
export PATH=$PATH:$JAVA_HOME
最后,需要使用 source 命令,让环境变量生效:
source ~/.bashrc
7、运行容器
编写运行脚本
我们需要编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat,具体过程如下:
首先,创建运行脚本:
vi /root/run.sh
然后,编辑脚本内容如下:
#!/bin/bash
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run
注意:这里必须先加载环境变量,然后使用 Tomcat 的运行脚本来启动 Tomcat 服务。
最后,为运行脚本添加执行权限:
chmod u+x /root/run.sh
创建 Java Web 镜像
使用以下命令,根据某个“容器 ID”来创建一个新的“镜像”:
docker commit 57c312bbaad1 huangyong/javaweb:0.1
该容器的 ID 是“57c312bbaad1”,所创建的镜像名是“huangyong/javaweb:0.1”,随后可使
用镜像来启动 Java Web
命令:
docker run -d -p 58080:8080 --name javaweb huangyong/javaweb:0.1 /root/run.sh
稍作解释:
-d:表示以“守护模式”执行/root/run.sh 脚本,此时 Tomcat 控制台不会出现在输出终端
上。
-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端
口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口
了。
--name:表示容器名称,用一个有意义的名称命名即可。
关于 Docker 网桥的内容,需要补充说明一下。实际上 Docker 在宿主机与容器之间,搭建
了一座网络通信的桥梁,我们可通过宿主机 IP 地址与端口号来映射容器内部的 IP 地址与
端口号,
在一系列参数后面的是“镜像名”或“镜像 ID”,怎么方便就怎么来。最后是“初始命令”,
它是上面编写的运行脚本,里面封装了加载环境变量并启动 Tomcat 服务的命令。容器。
访问:http://192.168.65.132:58080/
二、常用命令
//给镜像安装程序(本例是 ifconfig 命令)
docker run liyong/javaweb:0.1 yum install net-tools -y
//提交求改后的镜像
docker commit 15af459a3b87 liyong/javaweb:0.1
//映射本地文件夹进入容器中
docker run -i -t -v /root/Downloads/:/mnt/software/ c726f2a9a837 /bin/bash
//显示网桥信息
sudo brctl show
//不关闭容器的情况下退出
Ctrl + p+q
//登录到已退出的容器中
docker attach 600a7bc20f93
//以交互方式运行程序
docker run -it --name test1 fdaeed300a5e/bin/bash
docker run -it fdaeed300a5e/bin/bash
//保存镜像
docker commit 41866d30d072 liyong/javaweb:0.1
三、容器互联
1、容器的网络基础 docker0
查看 ifconfig 网络设置,安装 docker 会在网络中出现 docker0 虚拟网卡
安装网桥工具
安装完成后运行网桥
修改 docker 守护进程
最尾端追加
重启 docker 服务即可生效
剩余45页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6789
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功