Docker常用命令

举报
object 发表于 2024/03/11 17:22:20 2024/03/11
【摘要】 上期已经讲过了一些关于docker的概念,就是说明docker是个啥,大概有哪些术语,哪些特点。但是并未提及命令,那这肯定不行,今天主要梳理一些常见的命令。不过由于个人原因,这次可能没办法进行实际操作,理论上发出来的文档我都会自己去操作一下,不算一些概念的东西,但受限条件,电脑不支持,用了快10年的老笔记本了。所以少年们,要多多赚钱给自己一个好的学习环境,生活环境。不过之前用过docker,...

上期已经讲过了一些关于docker的概念,就是说明docker是个啥,大概有哪些术语,哪些特点。但是并未提及命令,那这肯定不行,今天主要梳理一些常见的命令。不过由于个人原因,这次可能没办法进行实际操作,理论上发出来的文档我都会自己去操作一下,不算一些概念的东西,但受限条件,电脑不支持,用了快10年的老笔记本了。所以少年们,要多多赚钱给自己一个好的学习环境,生活环境。不过之前用过docker,一些基本命令还是知道的。

一、docker重要概念

镜像、容器、仓库

  镜像即手机应用市场的应用,容器即运行在你手机上的APP,仓库及手机应用市场

二、docker只能安装在linux主机上吗

  docker可安装在linux,windows和mac上,只需要去官方网站下载即可。docker.com

三、linux安装docker

# 获取安装脚本
curl -fsSL get.docker.com -o get-docker.sh
# 运行脚本并指定 国内镜像加速器
sh get-docker.sh --mirror Aliyun
# 启动docker
systemctl start docker
# 允许开机自启动docker
systemctl enable docker

四、设置镜像加速

由于直接从国外仓库拉取docker的Image,会非常慢,所以一般建议优先使用国内镜像加速器。   有用过maven的就知道,从国外有时候拉都拉不动依赖。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://679xpnpz.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

五、常用Docker命令

上述就算安装完成了docker。 docker几个具体使用的核心概念Build、Ship、Run。 

Build(构建镜像)Ship(运输镜像)Run(运行镜像):对应的就是使用docker如何打包镜像,推送/拉取镜像,启动镜像。

将命令都总结如下,其实也不算多, 查仓库镜像、拉取、本地查镜像、删镜像、启动镜像、查容器、容器关启、删容器、查容器内容信息、 容器打包为镜像、备份和加载镜像。

#后续的例子都以Mysql或tomcat举例, 其他应用请自行更换即可

#查询仓库有哪些mysql镜像
docker search MySQL
#查询仓库mysql5.5版本的镜像
docker search MySQL:5.5

#拉取mysql镜像,默认最新版本
docker pull MySQL
#拉取mysql镜像,指定版本
docker pull MySQL:5.5

#查询已拉取的所有镜像 -q仅显示镜像id
docker images
docker images -q
#查询本地已拉取的mysql的所有镜像
docker image MySQL

#删除镜像,默认最新版本
docker image rm MySQL
#删除指定版本镜像
docker image rm MySQL:5.5
#根据imgeId删除镜像
docker image rm bf31431df
#强制删除镜像,包含正在运行的镜像 -f
docker image rm -f  bf31431df
#批量删除所有mysql镜像  可加-f,同样表示强制
docker rmi -f ${docker images MySQL -q}

#启动镜像并绑定端口    说明:-p参数可选,作用是将宿主机和docker容器的端口进行映射,若不进行映射,则无法通过宿主机直接访问docker容器
docker run -p 8080:8080 tomcat:8.0-jre8
#启动镜像并后台运行
docker run -d tomcat:8.0-jre8
#启动镜像并设置容器别名
docker --name tomcatName tomcat:8.0-jre8
#启动镜像并设置目录绑定,也叫数据卷
docker run -v /opt:/usr/local tomcat:8.0-jre8
#上述几个合起来就是常用的启动方式, 这几个参数都比较重要,冒号前面是宿主机参数
docker -d -p 8087:8080 --name tomcatName  -v /opt:/usr/local  tomcat:8.0-jre8

#查看已运行的容器
docker ps 
#查看所有的容器
docker ps -a
#仅查看容器id, -q为容器id  
docker ps -aq

#容器的启动,区别于上面的run,这里使用的容器的id,上面使用的镜像名称
docker start  f3daf15313
#容器的重新启动
docker restart f3daf15313
#容器停止,数据会保存
docker stop f3daf15313
#容器强制停止,数据不会保存
docker kill f3daf15313


#删除容器,根据容器id
docker rm f3daf15313
#删除容器,强制删除正在运行的容器
docker rm -f f3daf15313
#批量删除容器
docker rm -f ${docker ps -qa}

#查看容器的运行日志,根据容器id
docker logs f3daf15313
#查看容器的实时运行日志,根据容器id  -t显示日志时间戳
docker logs -f f3daf15313
docker logs -ft f3daf15313
#查看容器运行的进行
docker top f3daf15313

#容器bash交互,进入容器内部进行bash操作
bash exec -it f3daf15313
#退出容器交互
exit

#复制文件 从宿主机复制到容器 或 从容器复制到宿主机
docker cp ./text.txt  f3daf15313:/usr/local/tomcat/webapps
docker cp f3daf15313:/usr/local/tomcat/webapps/text.txt ./

#查看容器内部具体的细节,如端口,ip等
docker inspect f3daf15313


#打包容器为镜像。 -m 跟镜像描述  -a跟 作者  根据容器名称     打包后的镜像的名称和版本
docker commit -m "描述" -a "作者"   tomcatName   my_tomcat:1.0
#镜像备份 ,打包成.tar文件
docker saven my_tomcat:1.0 -0 my-tomcat-1.0.tar
#加载镜像备份
docker load -i my-tomcat-1.0.tar




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。