docker notes

历史演化

在这里插入图片描述

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执行命令
  1. RUN : 在Build构建时执行命令
  2. ENTRYPOINT : 容器启动时执行的命令
    1. ENTRYPOINT(入口点)用于在容器启动时执行命令
    2. Dockerfile中只有最后一个ENTRYPOINT会被执行
    3. ENTRYPOINT [“ps”] #推荐使用Exec格式
  3. 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环 境。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值