Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。
开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、
bare metal、OpenStack 集群和其他的基础应用平台。 ----来自于官方
(简单说:就是一个容器,把我们的程序与环境结合起来做统一管理)
4.配置阿里云镜像加速器(可选)
#不配置镜像加速太慢了,阿里云上的配置方法如下
#修改代码如下:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://646fhd4c.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
我这里由于使用Docker Desktop for windows这个软件,
所以我这配置是这样的,我用的是官方提供的国内镜像加速
2.1 帮助命令
docker version #显示docker的版本信息
docker info #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help #显示指定命令的使用方法
2.2 镜像命令
#参数
-a, --all 显示所以镜像信息
--digests 显示镜像摘要
-f, --filter filter 过滤 可选值:dangling,label,before,since,reference
--format string 格式化 ,可选值 .ID,.Repository,.Tag,.Digest,.CreatedSince,.CreatedAt,.Size
--no-trunc 不中断输出
-q, --quiet 只显示id ****
参数如下:
-f, --filter filter 过滤,可选值:stars,is_automated,is_official
--format string 格式化,可选值:.Name,.Description,.StarCount,.IsOfficial,.IsAutomated
--limit int 限制搜索的个数
--no-trunc 不中断输出
参数如下:
-a, --all-tags 从仓库里下载所有标签的镜像
--disable-content-trust 跳过镜像验证,默认为true
--platform string 支持多平台可以设置
-q, --quiet 不显示详细输出
#pull时可以指定tag,如果不指定tag,则摘取最新的版本
#使用最新的版本
docker pull mysql
#指定版本tag
docker pull mysql:5.7
参数:
Options:
-f, --force 强制删除镜像
--no-prune 不删除没有标记的父类
#删除mysql
docker rmi mysql
#批量删除
docker rmi -f $(docker images -aq)
#运行容器 使用 --help查看帮助,参数非常多,只说重点
#参数说明
--name string #给容器起名字
-d #后台运行
-it #使用交互式运行 ,进入容器,查看内容
-p #指定容器的端口
-p 主机ip:主机端口:容器端口
-p 主机端口:容器端口
-p 容器端口
容器端口
-P #随机指定端口
# 运行centos
docker run --name centos -it 镜像id
#退出容器
exit 直接退出容器
#退出容器还在运行
ctrl +p+q
#参数
-a #查看运行中的和历史运行过的容器
-f, --filter filter #过滤
--format string #格式化
-n, --last int #指定显示几个容器
-l, --latest #显示最近的容器
--no-trunc Don't truncate output
-q, --quiet #只显示容器id
-s, --size #显示文件大小
docker rm 容器id #不能删除运行中的容器
docker rm -f $(docker ps -aq) #强制删除
docker ps -aq |xargs docker rm -f #也可以这样强制删除
#容器启动
docker start 容器id
#停止
docker stop 容器id
#强制停止
docker kill 容器id
#重启
docker restart 容器id
#容器后台运行 -d 参数
docker run -d 镜像id
#问题
#当使用docker ps 查看时是没有运行的,
原因是:docker容器使用后台运行时,就必须要有一个前台进程在使用,如果当前容器并没有提供服务,
会被立即停止的
#命令 docker logs
#参数
--details 显示详细信息
-f, --follow 日志流输出
--since string 显示时间
-n, --tail string 显示几条
-t, --timestamps Show timestamps
--until string
#命令 docker top 容器id # 容器是运行的才可以查看哦
#查看容器的原数据
docker inspect 容器id
#进入容器的二种方式
#方式一: docker exec -it 容器id /bin/bash
#方式二: docker attach 容器id
#区别
#docker exec 进入容器后会启动一个新的命令窗口
#docker attach 会直接进入运行中的窗口命令窗口
#docker exec 参数说明
-d, --detach #后台运行命令
--detach-keys string #设置详细的key
-e, --env list #设置env变量
--env-file list #在指定文件里读取env变量
-i, --interactive #与 t一起用于交互模式
--privileged Give extended privileges to the command
-t, --tty Allocate a pseudo-TTY
-u, --user string #用户名
-w, --workdir string #工作目录
#docker cp 容器id:路径 目标路径
页面更新:2024-05-08
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号