赞
踩
Docker理论方面:Docker(理论)_sxpnp的博客-CSDN博客
目录
yum update
(2).安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
yum -y install gcc #docker涉及的软件,不用管直接装 gcc -v #查看gcc 版本
官方的源(不建议使用):yum-config-manager --add-repo https://download.docker.0com/linux/centos/docker-ce.repo
阿里云的源(建议使用): yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r #查看库中版本
- yum install docker-ce
-
- 命令补齐功能
-
- yum -y install bash-completion
- source /usr/share/bash-completion/bash_completion
- sudo systemctl start docker
- sudo systemctl status docker
- sudo systemctl enable docker
- sudo systemctl stop docker
- docker --version #只显示安装版本
- docker version #安装的详细信息
- 先关闭docker
- yum -y remove docker-ce
- yum remove -y docker-* #此处使用通配符,卸载docker为开头的所有docker软件
- yum remove -y docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-engine
- rm -rf /var/lib/docker
docker配置文件: /etc/docker/daemon.json
- mkdir /etc/docker
-
- touch daemon.json
阿里云
在 /etc/docker/daemon.json 此文件中添加,类似于一下字段
sudo systemctl daemon-reload sudo systemctl restart docker
查看docker 详细信息(比version更详细,有客户端和服务器端)
docker帮助命令,用来查命令,或命令使用方式(类似于linux 的man)
定义Tag 格式:repository:latest 即为 仓库源:Tag 来定义不同的镜像(一般用来定义版本标签)
- -a :列出本地所有的镜像(含中间映像层)
- -q :只显示镜像ID
- --digests :显示镜像的摘要信息
- --no-trunc :显示完整的镜像信息(会显示完整的信息包括ID号,默认只截取12位,此参数可以看所有位数的ID号)
(1)镜像就像是千层饼,是分层的,如上图,最外面那一层是hellowold(REPOSITORY)
格式:docker search [OPTIONS] 镜像名字
从仓库docker hub(官方仓库:https://hub.docker.com)上查询镜像
- -f=[选项]=值 :根据所提供的条件过滤输出
- -f=stars=30 选项为STAPS时候:列出收藏数不小于指定值的镜像(即上图STAPS)
- --no-trunc :显示完整的镜像描述
- --automated :只列出 automated build 类型的镜像 (即为上图的AUTOMATED)
格式:docker build -t ImageName:TagName dir(只能如下格式写,才能执行)
不加 -f,需要当前dockerfile 命名必须是:Dockerfile 名字,且在当前目录下
- -f :绝对路径文件 (dockerfile 已经在当前目录下就无需加-f参数)
- -t :给镜像加一个TAG
- . :当前目录下
格式:docker pull [OPTIONS] 镜像名字或ID[:TAG] (如果不填TAG,则默认是latest)
- -a (--all-tags) 下载所有标签的镜像,且忽略
- -q (--quiet) 不输出详细信息
格式:docker rmi [OPTIONS] 镜像名字或ID[:TAG] (如果不填TAG,则默认是latest)
-f (--force) 强制删除镜像(一般用来删除正在运行的镜像)
原理:在容器内部进行自定义 配置搭建修改,在把当前容器打包成一个镜像
使用docker run 运行的时候,需要写全了,把标签写全,不然就是latest
docker run [OPTIONS] image [command] [arg]
- --name="容器新名字" :为启动容器指定一个别名
- 可以通过docker ps 命令name字段可以查看到
- 用过的别名,无法再使用,需要删除docker rm命令
-
- -d :后台运行容器,并返回容器ID,也即 启动守护式容器
- 理论篇中有讲运行原理
- 一般使用:会一直前台有一个交互,但是不交互界面,向日志打印内容
- docker run -d centos /bin/sh -c "while true;do echo in service;sleep 2;done"
- 查看:docker logs 容器ID
- 会显示出打印内容:in service
-
- -i :以交互模式运行容器,通常与-t 同时使用
- -t :为容器重新分配一个伪输入终端,通常与-i 同时使用
- -it [镜像名或ID] :进入到运行的容器里面,同时进入的是此容器的输入终端界面
-
- -dit :可以分配给伪终端,让容器不停止,同时在后台运行
-
- -v : 容器和数据卷绑定
- 格式:宿主路径:容器路径
- 此参数命令,不能在dockerfile中实现
- -P : 随机端口映射
- 使用docker ps 命令查询主机的映射端口
- -p : 指定端口映射
- 格式:
- ip:hostPort:containerPort (常用,可以写一致)
- ip::containerPort
- hostPort:containerPort
- containerPort
-
- -e (export):定义容器内部的环境变量
-
- --link 容器名 :运行容器的时候配置hosts文件,为另一个容器写一个容器名和IP的映射
- --net 网络模式:默认是net bridge 桥接模式--net
- 即:docker run -d -P --name tomcat01 --net bridge tomcat
寻找hello-world镜像,并使用此镜像为模板,生成一个hello-world的容器实例寻找顺序从
- -a :列出当前所有正在运行的容器 + 历史上运行过的
- -l :显示最近创建的容器
- -n :显示最近n个创建的容器
- -q:静默模式,只显示容器编号
- --no-trunc:完整输出
容器ID 镜像ID 启动容器命令 创建时间 容器状态/时间(up即在运行)映射端口 容器别名
-t 分配一个伪终端
格式:docker start / restart 容器ID 或 容器名
格式:docker stop / kill 容器ID 或 容器名
- docker stop 正常关闭,类似于电脑的关闭
-
- docker kill 强制重启,类似于电脑快速强制关机
格式:docker rm [OPTIONS] 容器ID 或 容器名
之前启动过的容器,会保存在docker日志里,此命令可以删除启动过的容器,
-f 强制删除,删除没有停止的容器
- -t 加入时间戳
- -f 跟随最新的日志打印
- --tail [number] 显示最后多少条
原理:其类似于linux top,因为容器本质运行的式简易版的linux,大部分linux命令都能够使用
注意:尽量使用绝对路径
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。