暑假学习计划第一天docker初步

docker安装

​ 作为一个对电脑稍有了解的人,我认为docker安装并没有什么难度。毕竟,都上Ubuntu了,还找什么软件,直接sudo apt install docker 不就万事大吉了吗?

然而我把事情想的太简单了,Ubuntu仓库里竟然有个不知道从哪来的docker 包,描述是:

System tray for KDE3/GNOME2 docklet applications

度娘后才知道,真正的docker在仓库里的包名是docker.io 。。。

无奈只好卸载重装:

sudo apt remove docker
sudo apt install docker.io

docker概念

  • 镜像/容器:镜像就像是模板,容器就是模板的具体化
  • 仓库:存放镜像的地方,docker hub就是官方的镜像仓库
  • 标签(tag):仓库中用以区分镜像
  • 镜像名:由仓库名和标签组成,以 : 分隔
  • 仓库名:仓库名中可能包括 / 等字符,用以表明个人或组织身份
  • 这个名称概念好像有点乱,但这不重要,反正命名格式类似于 me/example:define_tag

docker初步命令

  • docker help :显示帮助信息
  • docker search repo:tag :搜索镜像
  • docker pull repo:tag :拉取镜像
  • docker images :列出所有镜像
  • docker ps :列出正在运行的容器
  • docker rm id :删除指定id容器
  • docker run -args repo:tag command :运行容器
    • --name:指定容器名字,若不选此项,则名字将由docker随机制定
    • -i -t :一起使用可使容器进入交互模式,当command指定为/bin/bash时,运行容器并进入容器的bash(在需要调整容器时有用)
    • -d :在后台运行,返回容器id
    • -P :由docker指定映射端口,
    • -p url:本地端口:容器端口:自定义端口映射
    • -v 本机目录:容器目录:把本地的目录挂载到容器中(帮助文档中参数类型写的是list,应该是可挂载多个)
    • -w 路径:指定容器的工作目录
  • docker create -args repo:tag command :创建容器,但是不运行,参数与run相似
  • docker start id :启动容器
  • docker stop id :停止容器
  • docker kill id :强制停止容器
  • docker attach id :附着到一个运行的容器上,查看输出
  • docker commit -args 容器id repo:tag:把容器变成新镜像
    • -a:添加作者
    • -m:添加描述
  • docker logs id :查看容器的输出
  • docker CMD --help :进一步的详细帮助信息

docker注意事项

  • 使用过的容器docker不会帮你自动删除,虽然这才正常,但有一些一次性的容器就要手工删除了

    • 查看所有容器

      sudo docker ps -a
    • 删除容器

      sudo docker rm id
  • docker命令每次都要带上sudo

参考链接

docker入门教程

docker菜鸟教程

Docker 镜像规范 v1.0.0

猜你喜欢

转载自www.cnblogs.com/gotolearn/p/first_day_docker.html