Docker安装使用
文章目录
前言
学习路径为B站狂神老师。
Docker安装使用
安装步骤
卸载旧版本
如果从未安装过可以省略此步骤
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
如果确实安装过并且上述步骤没有效果的话用以下步骤
yum list installed | grep docker
#查询到确实有docker的相关内容 按照名字进行remove
yum remove $(yum list installed | grep docker)
#该步骤作用为删除所有yum包中与docker相关的内容
安装utils
sudo yum install -y yum-utils
配置utils的存储库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装Docker
最新版本的Docker Engine 、container 和 Docker Compose plugin
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
这里的docker compose 已经安装可以直接使用 命令如下 docker compose up -d
安装指定版本Docker
列出当前系统可用的版本
yum list docker-ce --showduplicates | sort -r
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HHdxIMN3-1651653267280)(Docker安装使用.assets/image-20220504155228520.png)]
版本号为第一个冒号到第一个
-
之间的内容
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
#如docker-ce-20.10.9
验证安装
docker info
docker version
只要没报错就是安装成功了
至此Docker的安装已经完毕,附上官网的安装手册地址。
官网安装说明
官网地址
在左侧栏目选择使用的对应运行环境。
阿里云镜像加速
由于 docker hub是国外的网站访问会比较慢因此可以配置阿里云镜像加速进行加速
登录阿里云 在产品中搜索 容器镜像服务ACR–>管理控制台–>左侧镜像工具–>镜像加速器
Docker使用
包括帮助命令、镜像命令、容器命令其他常用命令。
帮助命令
docker version #版本信息
docker info #docker的系统信息
docker 命令 --help #万能命令
镜像命令
docker images
-a, --all Show all images (default hides intermediate images)显示所有图像(默认隐藏中间图像)
--digests Show digests显示摘要
-f, --filter filter Filter output based on conditions provided 根据提供的条件过滤输出
--format string Pretty-print images using a Go template 使用Go模板打印漂亮的图像
--no-trunc Don't truncate output 不截断输出
-q, --quiet Only show image IDs 只显示图像id
docker search
-f, --filter filter Filter output based on conditions provided 根据提供的条件过滤输出
--format string Pretty-print search using a Go template 根据规定的格式进行对搜索结果打印
--limit int Max number of search results (default 25) 最大搜索结果数(默认25)
--no-trunc Don't truncate output 不截断输出
docker pull
Options:
-a, --all-tags Download all tagged images in the repository下载存储库中所有带标记的图像
--disable-content-trust Skip image verification (default true) 跳过图像验证(默认为true)
--platform string Set platform if server is multi-platform capable 如果服务器支持多平台,请设置平台
-q, --quiet Suppress verbose output 抑制详细输出
docker rmi
Options:
-f, --force Force removal of the image 强制移除图像
--no-prune Do not delete untagged parents 不要删除未标记的父节点
docker rmi -f $(docker images -aq) #括号内为传递的参数 也就是获取的所有镜像的id值
docker rmi -f 镜像id 镜像id #可以删除一个,也可以删除多个,要删除多个镜像id之间用空格隔开
容器命令
容器是通过镜像创建的,有镜像才能创建容器。容器和镜像的关系相当于模具和模型之间的关系。
拉取镜像
docker pull 目标镜像 (更多操作 参见镜像命令 )
启动容器
docker run (官方说明)
docker run [可选参数] [启动的容器]
#参数说明
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
列出容器列表
docker ps (官方说明)
docker ps #列出正在运行的容器
docker ps -a #列出所有创建的容器
docker ps -a -n=1 #显示最近创建的容器 显示一个
docker ps -q #只显示容器的编号
退出容器
exit #直接停止容器并退出
Ctrl +p + Q #退出容器,不停止容器运行
删除容器
docker rm 容器id #不能删除正在运行的容器 如果要删除 要加-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 -f -t --tail 10 容器id 显示容器id运行的最近十条日志
docker logs -f -t 容器id 显示容器id运行的所有日志
查看容器中进程信息
docker top 容器id
查看镜像源数据
docker inspect 容器id
进入当前正在运行的容器
#容器通常使用后台方式运行
#命令
docker exec -it 容器id /bin/bash #进入容器后开启新的终端
or
docker attach 容器id #进入容器正在执行的终端 不会启动新的进程
容器id可以不用全写,开启容器的时候如果定义了容器名称,也可以使用容器名称进入
从容器内拷贝文件到主机上
将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
后期在更新DockerFile、容器卷挂载、docker-compose使用。