Docker入门介绍及常用操作命令

Docker概述

Docker官网(传送门)对Docker其实已经定义的非常清楚了:

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
一个容器是一个标准的软件单元,这个容器打包了软件的代码和所有依赖,这样这个软件在不同的计算机环境中就能把快速、可靠的运行。一个Docker容器镜像是一个轻量级、脱机、可执行的软件包,这个软件包涵盖了该软件一切运行所需要的东西:代码、运行时、系统工具、系统库和设置
在这里插入图片描述

核心概念

  • Docker主机 Host 安装了Docker程序的机器(Docker直接安装在操作系统之上)
  • Docker客户端 Client 对Docker进行操作的命令行或者其他工具
  • Docker仓库 Registry 用来保存各种打包好的软件镜像

Docker仓库主要有Docker Hub(传送门),它提供了庞大的镜像集合以供使用,除此之外自己也可以搭建私人Docker仓库

  • Docker容器 Container :容器是独立运行的一个或一组应用。

使用Docker的步骤

  1. 安装Docker
  2. 去Docker仓库找到这个软件对应的镜像
  3. 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器
  4. 对容器的启动停止就是对软件的启动停止

CentOS下7使用Docker

Docker安装

yum install docker

出现Total download size: 28 M Is this ok [y/d/N]: y输入y执行安装
当出现Complete说明安装成功
在这里插入图片描述

启动Docker

systemctl start docker

使用docker -v查看docker版本号,正确显示版本号的话说明启动成功
在这里插入图片描述

停止Docker

systemctl stop docker

设置Docker开机启动

systemctl enable docker

常用操作

镜像操作

操作命令举例说明
检索docker search 关键字docker search redis
拉取docker pull 镜像名:tagdocker pull docker.io/mysql:latest:tag是可选的,一般是软件的版本号,可以在Docker Hub查询,缺省为latest
列表docker images查看所有本地镜像
删除docker rmi image-iddocker rmi 0d64f46acfd1删除指定的本地镜像,image-id可通过docker images查询得到

容器操作

  1. 查询Tomcat的Docker镜像
docker search tomcat
  1. 拉取Tomcat的Docker镜像
docker pull docker.io/tomcat:latest

容器操作

操作命令举例说明
运行docker run --name container_name -d image_namedocker run --name myredis -d redis-name自定义容器名
-d后台运行
image_name指定镜像模板
列表docker ps查看运行中的容器,加上-a可以查看所有容器s
停止docker stop container_name/container_id启动容器
删除docker rm container_id删除指定容器
端口映射-p 6379:6379docker run -d -p 6379:6379-p主机端口映射到容器内部的端口
容器日志docker logs container_name/container_id

更多命令:https://docs.docker.com/engine/reference/commandline/docker/

将宿主机的端口号和Docker端口号进行映射,这样外部程序才能通过宿主机的端口号访问Docker容器中的程序


版权声明:本文为Cap220590原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。