文章目录
Docker
Docker 的基本组成
- 镜像(images): 相当于模板,用来创建容器。
- 容器(container): 独一运行一个或者多个应用,通过镜像来创建。
- 仓库(respository): 存放镜像的地方。
安装Dokcer
- 卸载旧的版本
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 #查看镜像的历史