yum update
yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
出现输入的界面都按 y
yum install docker-ce 或者
yum install -y docker-ce
docker -v
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker
docker info
docker --help
docker images
docker images –q # 查看所用镜像的id
从网络中查找需要的镜像
docker search 镜像名称
从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本。如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。
docker pull 镜像名称:版本号
docker rmi 镜像id # 删除指定本地镜像
docker rmi `docker images -q` # 删除所有本地镜像
docker ps # 查看正在运行的容器
docker ps –a # 查看所有容器
参数说明:
-i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。
-it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器
–name:为创建的容器命名。
–restart=always :容器自启
docker update --restart=always 容器ID/容器名称:运行的容器添加自启动
docker run 参数
Eg:docker run -id \
-p 3307:3306 \
--name=c_mysql \
--restart=always \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
参数说明:
-p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
-v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
**-e MYSQL_ROOT_PASSWORD=123456:**初始化 root 用户的密码。
docker exec 参数 # 退出容器,容器不会关闭 Eg:docker exec –it c_mysql /bin/bash,或者 docker exec –it c_mysql bash
docker stop 容器名称
docker start 容器名称
如果容器是运行状态则删除失败,需要停止容器才能删除
docker rm 容器名称
docker inspect 容器名称
docker run ... –v 宿主机目录(文件):容器内目录(文件) ...
Eg:docker run -id --name=c_mysql -v $PWD/conf:/etc/mysql/conf.d \
centos:7 /bin/bash
1.容器转为镜像
docker commit 容器id 镜像名称:版本号 从容器创建一个新的镜像
docker save -o 压缩文件名称 镜像名称:版本号 将指定镜像保存成 tar 归档文件
docker load –i 压缩文件名称 导入使用docker save命令导出的镜像
1、Docker logs 命令格式
docker logs 参数 容器名/容器id
参数说明:
–details 显示提供给日志的其他详细信息
–follow , -f 实时跟踪日志输出
–since 显示自某个timestamp之后的日志大于等于某个时间,或相对时间,如1h 就是1h)
–tail , -n all 从日志末尾显示的行数,默认值为all 全部
–timestamps , -t 日志每行显示日志时间戳
–until 显示自某个timestamp之前的日志小于等于某个时间,或相对时间,如30m(即30分钟)
用法示例
#通过容器名
docker logs tomcat8
#通过容器id
docker logs fe734a934051
#通过容器id 显示时间戳
docker logs -t -n 5 fe734a934051
#查询最近1小时的日志最新10行日志
docker logs --tail=10 --since 1h tomcat8
#实时跟踪tomcat8日志每次显示最新15行日志
docker logs --follow --tail=15 tomcat8docker logs --f --tail=15 tomcat8
#查询tomcat8的日志内容包含error取最新5行,注意需要使用2>&1进行重定向
docker logs -n 5 tomcat8 2>&1 | grep 'error'
#查询tomcat8的包含错误的日志并且写入 /usr/logs_error001.txt
docker logs -t tomcat8 | grep 'error' >> /usr/logs_error001.txt
#查询指定时间范围内的tomcat8的日志文件 取最新8行
docker logs -t -n 8 --since="2022-08-02T13:23:37" --until="2022-08-02T22:23:37" tomcat8