docker 备注
1、docker 安装
#安装环境为centos
yum -y install docker service docker start #测试是否安装成功,可执行命令
docker run hello-world
2、采用Dockerfile创建镜像
2.1 Dockerfile的基本命令
- FROM:第一条命令,表示基于哪个镜像
- RUN:需要执行的Linux指令
- CMD:运行容器时的默认参数
- ENTRYPOINT:指定容器的进入点
- EXPOSE:对外暴露的端口号
- ENV:指定环境变量的值
- ADD:从源系统的文件系统上复制文件到目标容器的文件系统,如果源文件是个归档文件(压缩文件),则docker会自动帮解压
- COPY: 同ADD,只是不会自己解压;
2.2 Dockerfile例子
FROM ubuntu
MAINTAINER Fredric
ADD ./apache-tomcat-7.0..tar.gz /opt
ADD ./jdk-7u25-linux-x64.tar.gz /opt
ADD ./docker_demo.war /opt/apache-tomcat-/webapps
ENV JAVA_HOME /opt/jdk1..0_80
ENV PATH $JAVA_HOME/bin:$PATH
ENTRYPOINT /opt/apache-tomcat-7.0./bin/startup.sh && tail -F /opt/apache-tomcat-7.0./logs/catalina.out
2.3 根据Dockerfile构建镜像
docker build -t web_app:1.0 ./docker/
备注:在docker目录下找文件名为Dockerfile的文件,并以此构建一个名字为web_app,TAG为1.0的镜像
2.4 根据该镜像创建容器
#端口映射,将宿主机的80端口映射至docker的8080端口
docker run --name="web" --net="bridge" -p : -t -i web_app:1.0 /bin/bash
备注:--name表示容器的名称,--net表示网络设置类型,此时为桥接 -p为端口映射。以本文为例在192.168.1.12的虚拟机上安装该容器,完成映射后,访问192.168.1.12则会跳转至容器的8080端口tomcat应用。
3、其他常用命令
docker images #显示当前有效的镜像 docker pull ubuntu:14.10 #获取一个新的镜像 docker search httpd #查找镜像 从 Docker Hub 网站来搜索镜像,Docker Hub 网址为:https://hub.docker.com/ #修改镜像源
sudo echo “DOCKER_OPTS=\”\$DOCKER_OPTS –registry-mirror=http://demo_test_002.m.daocloud.io -d\”” >> /etc/default/docker
sudo service docker restart docker ps # 显示当前的docker进程 docker stop # 停止一个容器 此时用docker ps -a 仍然可以看到 docker start # 启动一个容器 docker rm # 删除一个容器 此时用docker ps -a 无法看到 docker cp /home/docker/test.txt tomcat-server:/opt/ #用容器ID和容器名字都可以
docker 备注的更多相关文章
- Docker部署Registry私有镜像库
拉取镜像 docker pull registry:2.6.2 生成账号密码文件,这里采用htpasswd方式认证 docker run --rm --entrypoint htpasswd re ...
- (转帖) 为Docker容器指定自定义网段的固定IP/静态IP地址
作者:雨水,日期:2016-04-09 CSDN博客: http://blog.csdn.net/gobitan 摘要:Docker容器运行的时候默认会自动分配一个默认网桥所在网段的IP地址.但很多 ...
- centos7下安装docker 以及简单使用
一 环境准备1.虚拟机or物理机 2.centos7系统(稳定,对docker支持友好) 二 安装过程step1:使用yum命令进行安装 yum install -y docker备注:-y 表示不询 ...
- Devops(二):CentOS7(在线)安装Docker
安装环境:Centos7.5 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE.1)Docker CE 即社区免费版2)Dock ...
- 在redhat 6.6上安装Docker
安装环境 支持Docker的RHEL版本 Red Hat Enterprise Linux 7 (64-bit) Red Hat Enterprise Linux 6.5 (64-bit) 或更高版本 ...
- Docker安装和常用配置【Linux】
Linux下安装配置docker 安装指南:https://developer.aliyun.com/article/110806 一.配置国内镜像源 1.1 设置国内阿里巴巴下载源 [root@lo ...
- linux一些工具的安装(三)
linux(vmware15 centos7)中Docker安装 一.Docker卸载 1.查看已安装的docker安装包 $yum list installed|grep docker 执行后的 ...
- 使用Kubeadm安装Kubernetes【单Master节点】
参考:Kubernetes官方文档 Kubernetes安装方案选择 Centos 7 配置科学上网 安装Calico网络插件 kubernetes-dashboard部署 Kubernetes ...
- 理解Docker(3):Docker 使用 Linux namespace 隔离容器的运行环境
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
随机推荐
- Windows下安装配置go
基于 go 1.9.2 + liteIDE + windows10 先安装 go 安装包,作用如同安装框架. 默认安装路径是 C:\Go,通常都会更改,但这会影响到后面设置环境变量,因此更改到哪里请记 ...
- 关于Linux虚拟化技术KVM的科普 科普四(From humjb_1983)
另一组关于KVM的分析文档,虚拟化相关概念.KVM基本原理和架构一-概念和术语.KVM基本原理和架构二-基本原理.KVM基本原理及架构三-CPU虚拟化.KVM基本原理及架构四-内存虚拟化.KVM基本原 ...
- IntelliJ IDEA 2018.1.2 安装及汉化教程(附:下载地址)
附:安装包及汉化包下载地址 链接:https://pan.baidu.com/s/1ysxtVH_gnBm0QnnqB5mluQ 密码: 9pqd 1.安装步骤: 选择安装地址:可以默认.本人安装在 ...
- 将sqlserver导出的csv数据导入到ubuntu和mac上的mysql
最近在捣鼓一些数据相关的东西.将sql server里的数据导入到ubuntu和mac上的mysql,方法有很多.不过我选择了最简单的一种:将sql server的数据导成csv,然后将csv导入到m ...
- javascript 原型机制
prototype,__proto__,constructor 在 JavaScript 原型继承结构里面,规范中用 [[Prototype]] 表示对象隐式的原型,在 JavaScript 中用 _ ...
- 巩固java(五)----通过实例理解java多态
package duotai; class A{ public String show(){ return "A"; } } class B extends A{ public S ...
- 关于ftp用户连接时出现500 OOPS: cannot change directory的解决办法
RHEL5 中配置好后,今天想在XP下用ftp连接虚拟机中的linux,但ftp连接的时候会出现 "500 OOPS:cannot change directory:/root" ...
- 通过MSSQL分析器跟踪研究EM内部行为并解决identify列问题
今天有人问到MSSQL表里的IDENTITY字段,如何让它在复制原来数据到该表时,原来数据的IDENTITY字段不变,而新插入数据时,新插入的数据的IDENTITY依然增长,查了些资料,做了个实验,最 ...
- ubuntu16.04开机循环输入密码无法进入桌面的解决办法
前些天碰到一个头疼的问题,启动我的ubuntu之后,输入密码闪屏一下,又需要输入密码!!!于是再输还要再输!!!!! 经过百度一翻后终于找到原因和解决办法. 原来是我之前在profile文件里配置了一 ...
- kingpin_parser.go
) } //字节大小设置 func Size(s kingpin.Settings) (target *uint64) { target = new(uint64) s.SetValu ...