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组成

Docker命令学习_第1张图片

  • 客户端:

  • 服务器:

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

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

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

命令

帮助命令

docker verison

查看版本

Docker命令学习_第2张图片

docker info

查看信息

Docker命令学习_第3张图片

docker --help

查看帮助

Docker命令学习_第4张图片

镜像命令

docker images

Docker命令学习_第5张图片

列出本地的镜像

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

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

Docker命令学习_第6张图片

 仅显示镜像ID

Docker命令学习_第7张图片

docker search

docker search [选项] image

查找镜像

Docker命令学习_第8张图片

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

通过--filter选项进行过滤

 docker search ---filter=stars=30 tomcat

网站-docker hub

Docker命令学习_第9张图片

docker pull

docker pull NAME[:TAG]

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

拉取hello-world

Docker命令学习_第10张图片

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命令学习_第11张图片

docker  network

宿主机与容器可以ping通

Docker命令学习_第12张图片

Docker命令学习_第13张图片

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

Docker命令学习_第14张图片

语法

 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命令学习_第15张图片

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命令学习_第16张图片

docker network inspect mynet 

Docker命令学习_第17张图片

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

参考

Docker 官网

Docker Hub

Docker 中文社区

你可能感兴趣的:(Docker,docker,linux,ubuntu)