《Linux》day3--docker——docker镜像与容器

文章目录

1.将当前用户添加到docker用户组

因为使用docker必须要有sudo权限,为了避免我们每次都要输入sudo,我们可以将当前用户添加到docker用户组,参考官方文档

步骤如下:

  1. 創建docker組:sudo groupadd docker
  2. 将当前用户添加到docker用户组:sudo usermod -aG docker $USER
  3. 刷新一下用户组,然后退出终端重进。newgrp docker

2.docker鏡像(images)

  1. docker pull ubuntu:20.04:拉取一个镜像ubuntu:20.04
  2. docker images:列出本地所有镜像
  3. docker image rm ubuntu:20.04docker rmi ubuntu:20.04:删除镜像ubuntu:20.04
  4. docker [container] commit CONTAINER IMAGE_NAME:TAG:创建某个container的镜像(container 可以省略)
  5. docker save -o ubuntu_20_04.tar ubuntu:20.04:将镜像ubuntu:20.04导出到本地文件ubuntu_20_04.tar(以.tar为后缀)
  6. docker load -i ubuntu_20_04.tar:将镜像ubuntu:20.04从本地文件ubuntu_20_04.tar中加载出来

注意:5 和 6 是逆运算

3.docker容器(container)

  1. docker [container] create -it ubuntu:20.04:利用镜像ubuntu:20.04创建一个容器。(container 可以省略)
  2. docker [container] create --name my_docker_server -it ubuntu:20.04:--name可以给自己建的容器起名字:my_docker_server
  3. docker ps:查看正在运行的容器
  4. docker ps -a:查看所有的容器,包括不在运行的容器
  5. docker [container] start CONTAINER_NAME or CONTAINER_ID:启动容器(container 可以省略)
  6. docker [container] stop CONTAINER_NAME or CONTAINER_ID:停止容器(container 可以省略)
  7. docker [container] restart CONTAINER_NAME or CONTAINER_ID:重启容器(container 可以省略)
  8. docker [contaienr] run -itd ubuntu:20.04:创建并启动一个容器(container 可以省略),如果不加d才进入该容器,加d则不进入该容器
  9. docker [container] attach CONTAINER_NAME or CONTAINER_ID:进入该容器;先按Ctrl-p,再按Ctrl-q可以挂起容器该容器(挂起是不关闭),按Ctrl-p是关闭退出该容器
  10. docker [container] exec CONTAINER_NAME or CONTAINER_ID COMMAND:在容器中执行命
  11. docker [container] rm CONTAINER :删除容器
  12. docker container prune:删除所有已停止的容器(container 不可以省略)
  13. docker export -o xxx.tar CONTAINER_NAME or CONTAINER_ID:将容器CONTAINER导出到本地文件xxx.tar中(容器像镜像一样可以直接生成一个文件)
  14. docker import xxx.tar image_name:tag:将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tag(与镜像类似,12 与 13 是逆运算)
  15. docker export/importdocker save/load的区别:export/import会丢弃历史记录和元数据信息,仅保存容器当时的快照状态,save/load会保存完整记录,体积更大
  16. docker top CONTAINER_NAME or CONTAINER_ID:查看某个容器内的所有进程
  17. docker stats:查看所有容器的统计信息,包括CPU、内存、存储、网络等信息
  18. docker cp xxx CONTAINER_NAME or CONTAINER_ID:xxxdocker cp CONTAINER_NAME or CONTAINER_ID:xxx xxx:在本地和容器间复制文件(文件夹不需要加 -r)
  19. docker rename CONTAINER1_NAME CONTAINER2_NAME :重命名容器
  20. docker update CONTAINER_NAME or CONTAINER_ID--memory 500MB:修改容器限制

4.实战

bash 复制代码
scp /var/lib/acwing/docker/images/docker_lesson_1_0.tar server_name:  # 将镜像上传到自己租的云端服务器
ssh server_name  # 登录自己的云端服务器

docker load -i docker_lesson_1_0.tar  # 将镜像加载到本地
docker run -p 20000:22 --name my_docker_server -itd docker_lesson:1.0  # 创建并运行docker_lesson:1.0镜像

docker attach my_docker_server  # 进入创建的docker容器
passwd  # 设置root密码

去云平台控制台中修改安全组配置,放行端口20000。

返回Terminal,即可通过ssh登录自己的docker容器:ssh root@xxx.xxx.xxx.xxx -p 20000 # 将xxx.xxx.xxx.xxx替换成自己租的服务器的IP地址

相关推荐
Ven%31 分钟前
centos查看硬盘资源使用情况命令大全
linux·运维·centos
想进大厂的小王1 小时前
Spring-cloud 微服务 服务注册_服务发现-Eureka
微服务·eureka·服务发现
TeYiToKu1 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws1 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
yeyuningzi2 小时前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT2 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei2 小时前
linux centos 安装redis
linux·redis·centos
lldhsds3 小时前
书生大模型实战营第四期-入门岛-1. Linux前置基础
linux
wowocpp3 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
山河君4 小时前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别