历史演化
windows 安装 Docker
以失败而告终…
centOS7 安装
1.注意这个虚拟化支持一定要勾上
2 安装docker-ce
按照顺序执行就可以了
# 安装Docker需要的依赖和工具包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#配置从阿里云下载docker-ce
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新仓库的源信息
sudo yum makecache fast
#安装docker
sudo yum -y install docker-ce
#docker服务化
sudo service docker start
#启动docker服务
service docker start
#查看docker版本
docker version
#重启docker
docker restart
docker 常用命令
#拉取镜像
docker pull tomcat
#查看本地镜像仓库中已有的镜像
docker images
#创建并运行tomcat容器, 并将容器的8080端口映射到宿主机的8000端口
docker run -p 8000:8080 tomcat
#查看所有已运行的容器
docker ps
#通过容器id停止容器
docker stop 95f1518dfb2d
#查看所有容器,包括正在运行的和已停止的
docker ps -a
#删除容器
docker rm 95f1518dfb2d
#删除镜像
docker rmi 89481b5d9082
#进入容器内部
docker exec -it 06ecc9bd219a /bin/bash
#退出容器
exit
# 查看镜像构建过程 6b7f64ed0521是镜像id
docker history 6b7f64ed0521
#登录hub.docker.com
docker login
#将镜像推送到远程仓库
docker push greatgreathaishang/myhello
#显示容器信息
docker inspect e34bae95e230
#link 配置单向连接容器mydb
docker run --link mydb -d myweb
dockerfile
Dockerfile 文件
#利用FROM命令设置基准镜像
FROM tomcat:latest
#cd /usr/local/tomcat/webapps
WORKDIR /usr/local/tomcat/webapps
#ADD用于复制本地文件到镜像中
#ADD 源路径 目标路径
ADD docker-web ./docker-try-web
#构建镜像 docker-web是dockerfile所在目录
docker build -t ww/docker-try-web:0.0.1 docker-web/
dockerfile中常用命令:
#制作基准镜像(基于centos:lastest)
FROM centos
#不依赖任何基准镜像base image
FROM scratch
#LABEL - 说明信息(注释)
LABEL maintainer = "itlaoqi"
LABEL version = "1.0"
LABEL description = "ITLAOQI应用镜像"
#WORKDIR - 设置工作目录
#没有就创建
WORKDIR /usr/local/xxx
#ADD & COPY - 复制文件 ,ADD 除了复制,还具备添加远程文件功能
#复制到根路径
ADD hello /
#添加根目录并解压
ADD test.tar.gz /
#ENV - 设置环境常量
ENV JAVA_HOME /usr/local/openjdk8
#EXPOSE - 暴露容器端口
EXPOSE 8080
docker run -p 8000:8080 tomcat
Dockerfile执行命令
- RUN : 在Build构建时执行命令
- ENTRYPOINT : 容器启动时执行的命令
1. ENTRYPOINT(入口点)用于在容器启动时执行命令
2. Dockerfile中只有最后一个ENTRYPOINT会被执行
3. ENTRYPOINT [“ps”] #推荐使用Exec格式 - CMD : 容器启动后执行默认的命令或参数
1. CMD用于设置默认执行的命令
2. 如Dockerfile中出现多个CMD,则只有最后一个被执行
3. 如容器启动时附加指令,则CMD被忽略
4. CMD [“ps” , “-ef”] #推荐使用Exec格式
#RUN-构建时运行
#Shell 命令格式
RUN yum install -y vim
#Exec命令格式
RUN ["yum","install","-y","vim"]
# Shell与Exec的区别
1. 使用Shell执行时,当前shell是父进程,生成 一个子shell进程
2. 在子shell中执行脚本。脚本执行完毕,退出 子shell,回到当前shell。
3. 使用Exec方式,会用进程替换当前shell进程, 并且保持PID不变
4. 执行完毕,直接退出,不回到之前的shell环 境。