docker常用命令汇总

23 篇文章 1 订阅
2 篇文章 0 订阅

Docker

Docker基本组成

image-20220325140638355

  • 镜像:docker就像一个模板,可以通过这个模板来创建容器服务,一个镜像可以创建多个容器
  • 容器:docker利用容器技术,独立运行一个或一组应用,通过镜像来创建
  • 仓库:存放镜像的地方,仓库分为共有仓库和私有仓库

Docker常用命令

docker服务命令

systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker
docker info
docker --help
docker version
systemctl stop firewalld.service  关闭防火墙

镜像命令

docker images # 查看本地镜像
docker search mysql# 搜索镜像
docker pull mysql:5.7# 下载镜像
docker rmi 562c9bc24a08 # 删除镜像 根据IMAGE ID
docker image ls#查看所有已下载的镜像

容器命令

docker run [可选参数] image
# 参数说明
--name="Name"		容器名字
-d					后台方式运行
-it					使用交互方式进入容器查看内容
-p					指定容器的端口
	-p 主机端口:容器端口
	-p 容器端口
	容器端口
	
docker run #创建并启动一个容器,在run后面加上-d参数,则会创建一个守护式容器在后台运行。
docker run --name firstContainer busybox:lastest echo "hello world" #以firstContainer的名字启动容器 并输出“hello world”

容器命令(补充1)

docker start 容器id
docker restart 容器id
docker top 容器id # 查看容器中的进程信息
docker logs -t id # 查看日志产生的日期
docker logs -f id # 查看实时产生的日志
docker logs -tf id # 显示日志
docker logs --tail 1000 id # 显示1000日志
docker logs --tail="10" id # 同上
docker inspect 容器id  #查询容器信息 镜像的元数据
docker stop $(sudo docker ps -aq) #停止所有的容器
docker stop  容器id  #停止容器id
docker kill 容器id #非优雅的停止容器
docker rm  容器id  #删除容器id
docker rm $(sudo docker ps -aq)#通过id查询删除所有容器
docker rm -f $(sudo docker ps -aq)#不需要停止容器,就直接强制删除容器
docker rm $(sudo docker ps -a -q) #删除所有未运行的容器
docker search elasticsearch con_id #搜索镜像文件 
docker ps -a #查看已经创建的容器
docker ps -s #查看已经启动的容器
docker ps -a -q #查看全部的容器的容器id
docker ps -f "name=official" #模糊查询容器名叫official的
docker ps -f "id=fdsfq134123df3213" #模糊查询
docker cp 容器id:容器内路径 目录的主机路径 #将文件从容器中拷贝到本机
docker rename old_name new_name #重命名一个容器
docker exec -it 容器id # 进入正在运行的容器 打开一个新的终端
docker exec -it 容器id /bin/bash #进入容器 
docker attach 容器id # 进入正在运行的容器 不会启动新的进程
docker commit container1 centos:v1# 提交container成为一个叫busyboc的镜像

exit # 退出容器并停止容器运行
Ctrl + P + Q # 退出容器但不停止运行

容器命令(补充1)

docker save busbox:latest > busybox.tar #busybox:latest镜像保存到tar包
dockerload < busybox.tar #从tar包加载busybox:latest镜像
docker export busyboxContainer > busyboxContainer.tar #然后将busyboxContainer导出为容器快照:busybox.tar
cat busyboxContainer.tar | docker import - busybox:v1.0 #最后使用该容器快照导入镜像,镜像名为busybox:v1.0。

#构建一个私人仓库
docker pull registry:2
docker run -d -p 5000:5000 --restart=always --name myregistry registry:2
#使用docker tag给busybox加上一个标签localhost:5000/my-busybox:latest
docker tag busybox:latest localhost:5000/my-busybox:latest

docker push localhost:5000/my-busybox  #将镜像推送到私人仓库
docker pull localhost:5000/my-busybox  #从私人仓库拉取镜像
docker rm -vf myregistry #删除私人仓库并将私人仓库中的镜像也删除掉

Dockerfile命令:

通过echo命令将命令写到Dockerfile中去
echo 'FROM busybox' > Dockerfile#以busybox为基础镜像
echo 'RUN touch hello.txt'>> Dockerfile#在基础镜像的基础上,创建一个hello.txt文件
echo 'ADD ./dir1.tar /' >> Dockerfile#并将上下文目录下的dir1.tar“解压提取后”,拷贝到busybox:v3的/
echo 'ENTRYPOINT ["df"]' >> Dockerfile#默认情况下,将启动命令设置为df -TH。要求df命令不能被覆盖,但是-Th能被覆盖
echo 'CMD ["-Th"]' >> Dockerfile#
echo 'EXPOSE 3000' >> Dockerfile#声明暴露3000端口
echo 'ENV var1=test' >> Dockerfile#将变量var1=test设置为环境变量
echo 'WORKDIR /tmp' >> Dockerfile#设置工作目录为/tmp
docker build -t busybox:v3 . #以该Dockerfile构建一个名为busybox:v3的镜像

数据卷也很重要:

docker volume create --name vo1 #新建一个叫vo1的数据卷
docker run -itd -v /data ubuntu /bin/bash #创建了一个“随机名字”的volume,并挂载到容器的/data目录。
docker run -itd -v vo2:/data ubuntu /bin/bash #创建一个名为vo2的数据卷,并将其挂载到容器的/data目录下
docker run --name container2 --volumes-from container1 ubuntu#和container1共享数据卷
docker inspect --type container --format='{{range .Mounts}}{{.Name}}{{end}}' container1#输出容器container1创建的数据卷的名字
docker rm -v container1#删除container1对应的数据卷,其实是解绑
docker volume rm vo4#删除名为vo4的数据卷,真的删除,要先解绑才能删除

# 创建一个vo1的数据卷,并在数据卷中添加1.txt文件
docker run --name vocontainer1 -v vo1:/dir1 ubuntu touch /dir1/1.txt
#1.将vo1数据卷的数据备份到宿主机的/newback中,将容器的/backup路径挂载上去,并将容器内/dir1文件夹打包至/backup/backup.tar
docker run --volumes-from vocontainer1 -v $(pwd):/backup ubuntu tar -cvf /backup/backup.tar /dir1 
#2.将保存在宿主机中备份文件的数据恢复到vocontainer2的/中
docker run --volumes-from vocontainer2 -v $(pwd):/backup busybox tar -xvf /backup/backup.tar -C /

https://docker-practice.github.io/zh-cn/ 这个学docker应该还可以

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker是一种常用的容器化平台,以下是一些常用的Docker命令: 1. docker build:用于构建Docker镜像,可以从Dockerfile文件中定义构建步骤和配置。 2. docker run:用于在Docker容器中运行一个命令或者启动一个应用。 3. docker pull:用于从Docker仓库中拉取镜像到本地。 4. docker push:用于将本地的镜像推送到Docker仓库。 5. docker images:显示本地已有的Docker镜像列表。 6. docker ps:显示正在运行的容器列表。 7. docker stop:停止一个正在运行的容器。 8. docker start:启动一个已经停止的容器。 9. docker restart:重启一个正在运行的容器。 10. docker rm:删除一个已经停止的容器。 11. docker rmi:删除一个本地的Docker镜像。 12. docker exec:在运行中的容器中执行一个命令。 13. docker logs:查看容器的日志输出。 14. docker inspect:查看容器的详细信息。 15. docker network:管理Docker网络。 这些是Docker的一些常用命令,你可以根据实际需求选择合适的命令来操作Docker容器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [docker常用命令汇总](https://blog.csdn.net/zong596568821xp/article/details/124793309)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴趣使然的小小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值