docker 基础以及dockerfile

Docker

Docker 的基本组成

  • 镜像(images): 相当于模板,用来创建容器。
  • 容器(container): 独一运行一个或者多个应用,通过镜像来创建。
  • 仓库(respository): 存放镜像的地方。

安装Dokcer

  1. 卸载旧的版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.需要的安装包

yum install -y yum-utils

3.设置镜像的仓库

yum-config-manager \
    --add-repo \
	https://download.docker.com/linux/centos/docker-ce.repo

4.更新yum软

yum makecache fast

5.安装Docker 相关内容

yum install docker-ce docker-ce-cli containerd.io

6.启动Doceker

systemctl start docker 

7.测试是否安装成功

docker version
docker run hello-world

在这里插入图片描述

8.卸载Docker

yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker 	//docker 默认工作路径

Docker的常用命令

帮助命令

docker version //显示docker 版本信息
docker info //显示docker 的详细信息
docker  --help //帮助命令

镜像命令

docker images //查看所有本地主机上的镜像
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
mysite                v1                  4b26b043ca5e        6 days ago          685MB

REPOSITORY //镜像的仓库源
tag //镜像标签
Image Id //镜像的ID
created //创建时间
size //镜像的大小

docker images -a //显示所有的镜像
docker images -q //只显示镜像的ID
docker search 镜像名称 //搜索镜像
docker pull 镜像名称 //拉取镜像
docker rmi 镜像名称/id //删除镜像
docker rmi -f ${docker images -aq} //删除所有的镜像

容器命令

docker run [可选参数] image//新建容器并启动
--name="容器名称"  //用来区分容器
-d  //后台运行方式
-it //使用交互方式运行
-p  //指定容器端口
    -p //主机端接口:容器端口(最常使用)
    -p//容器端口
 docker run -it 镜像名 /bin/bash //启动并进入容器
 exit //退出容器
 docker ps//查询当前运行的容器
 	-a //查询所有的容器
    -n=? //显示最近创建的容器
    -q //显示容器的编号
 docker rm 容器ID//删除容器 不能删除正在运行的容器,如果强制删除 docker rm -f
 docker rm -f ${docker ps -aq}//删除所有的容器
docker ps -a -q|xargs docker rm //删除所有的容器

docker start 容器ID//启动容器
docker restart 容器ID//重启容器
docker stop 容器ID//停止当前运行的容器
docker kill 容器ID//强制停止容器

常用的其他命令

docker logs //查看日志
    -tf//显示所有日志
    --tail 10(10条日志) 容器id//
docker top 容器ID//查看容器中的进程
docker inspect  容器ID// 查看镜像的元数据

进入当前正在运行的容器

//exec 进入容器后开启新的终端,可以在里面操作   attach 进入容器正在执行的终端,不会启动新的进程
docker exec -it 容器id /bin/bash //进入当前运行的容器
docker attach 容器id /bin/bash  //第二种进入容器
//从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的主机路径
docker stats //查看cpu的内存状态
docker commit  //提交容器变为一个新的副本
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG(版本)]

容器数据卷

容器的持久化和同步操作

 docker run -it -v 主机目录:容器目录  /bin/bash 

容器与容器之间数据共享

docker run -it --name 容器名 --volumes-form 父容器

DockerFile

用来构建你docker 镜像的文件,命令参数脚本

构建镜像的步骤:

1.编写一个dockerfile 文件

2.dcoker build 构建一个镜像

3.docker run 运行镜像

4.docker push 发布镜像

dockerfile基础

1.每个指令都必须是大写字母

2.执行从上到下顺序执行

3.每一个指令都会创建一个镜像层,并提交。

docker 指令

FROM  #基础镜像
MAINTAINER #镜像作者
RUN # 镜像运行时候需要的命令
ADD #添加的内容
WORKDIR #设置当前的工作目录
VOLUME # 设置容器卷,挂载主机目录
EXPOSE #指定对外端口
CMD # 指定容器启动时候运行的命令,只有最后的一个命令会生效,可以被替代
ENTRYPOINT  #指定容器启动时候运行命令,可以追加命令
ONBUILD #构建一个被继承的dockerfile 这个时候会触发指令
COPY #将文件复制到镜像中
ENV #构建的时候设置环境
FROM centos 
MAINTAINER yt
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim 
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "======"
CMD /bin/bash

#运行dockefile 
docker build -f dockerfile -t mycentos:0.1 .

docker history 容器ID #查看镜像的历史
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值