《Linux》day6--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.实战

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地址

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值