Docker命令学习

目录

简介

为什么会出现?

Docker组成

命令

帮助命令

docker verison

docker info

docker --help

镜像命令

docker images

docker search

docker pull

docker rmi

容器命令

docker run

docker ps

docker exec

docker stop

docker restart

docker rm

docker cp

docker  network

参考


简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。做到“一次封装,到处运行”。

推荐学习了LinuxGit之后再来学习。Docker是基于Go语言开发的,想深入学习,可以先学习Go语言。

为什么会出现?

在Docker之前是使用虚拟机,VMWare等。环境迁移,对运维人员都是考验。Docker提出了一种代码带环境一起迁移的跨平台标准化方案。

Docker底层-Namespace和Cgroup​​​​​​​

Docker组成

  • 客户端:

  • 服务器:

  • 镜像(image):模板,可创建多容器

  • 容器(container):独立运行一个或一组应用,通过镜像来创建的,包括启动,停止,删除等

  • 仓库(repository):存放镜像的地方,分为公有仓库和私有仓库

命令

帮助命令

docker verison

查看版本

docker info

查看信息

docker --help

查看帮助

镜像命令

docker images

列出本地的镜像

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

显示所有镜像,包括中间层

 仅显示镜像ID

docker search

docker search [选项] image

查找镜像

  • NAME: 镜像仓库源的名称
  • DESCRIPTION: 镜像的描述
  • OFFICIAL: 是否 docker 官方发布
  • STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思。
  • AUTOMATED: 自动构建。

通过--filter选项进行过滤

 docker search ---filter=stars=30 tomcat

网站-docker hub

docker pull

docker pull NAME[:TAG]

  • NAME是镜像名
  • TAG是版本,默认是latest

拉取hello-world

docker rmi

删除镜像

如果有使用该镜像的容器,可加-f选项强制删除

容器命令

docker run

新建容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

  •  -d:后台
  • -t:终端
  • -i:交互式
  • --name:给容器命名
  • -p:docker容器端口与宿主机的绑定

docker run -it --name mycentos -p 8080:8080 centos

使用exit退出并关闭容器,使用Ctrl+P+Q退出但不关闭容器

docker ps

查看容器,默认显示正在运行的容器

  • -a:显示所有容器
  • -n:显示按创建时间倒数的几个容器

我又新建了一个mycentos1的容器

docker exec

进入容器

  • -t:终端
  • -i:交互式

 注意,使用此命令进入容器后,使用exit退出容器不会使容器关闭

docker stop

停止容器

docker restart

重启容器

docker rm

删除容器,默认删除已停止的

  • -f:强制删除,即使正在运行

docker cp

宿主机和容器之间的文件/文件夹的拷贝,由于容器比较精简,里面可能没有vim等文件编辑器,所以可以在宿主机编辑,编辑好后再放到容器中。

语法

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- 

docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PA

将宿主机的文件拷贝到容器中

docker cp networkrestart.sh 39:/

docker  network

宿主机与容器可以ping通

开启容器后可以看到一个网卡docker0

语法

 docker network COMMAND

Commands:
  connect     Connect a container to a network
  create      Create a network
  disconnect  Disconnect a container from a network
  inspect     Display detailed information on one or more networks
  ls          List networks
  prune       Remove all unused networks
  rm          Remove one or more networks

自定义网络

docker network create --subnet 192.168.0.0/24 --gateway 192.168.0.1 mynet

docker run -id \
-p 3306:3306 \
--name=mydb \
--net mynet \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/1ib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql

 docker run -id -p 5000:5000 --name api --net mynet tomaszguzialek/flask-api

docker network inspect mynet 

可以看到两个容器存在于一个网络mynet中,两个容器可以ping通

参考

Docker 官网

Docker Hub

Docker 中文社区

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lady_killer9

感谢您的打赏,我会加倍努力!

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

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

打赏作者

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

抵扣说明:

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

余额充值