Docker初探之常用命令实践
在正式使用Docker之前,我们先来熟悉下Docker中常用的命令,因为对Docker的操作就如同操作Linux一样,大部分操作通过命令完成。
一、登录
为什么要使用登录?
因为我们使用Docker,其实主要使用镜像从而运行容器。那么镜像可以通过仓库获得,因为仓库是集中存放镜像的地方。有的仓库是公开的,可以直接通过公开仓库获得镜像,有的是私有仓库,那么此时就需要通过登录仓库从而获得镜像。
如果想通过公开仓库获得镜像可以不用登录这一步,直接拉取镜像;如果想拉取私有仓库里的镜像则需要登录。
我们获得私有镜像可以通过登录官方仓库(Docker Hub),也可以登录第三方仓库获取,如阿里云或腾讯云。
如果要使用官方Docker Hub,则需要到官方地址去注册一个Docker Hub的个人账号,官方地址:https://hub.docker.com/。
1、登录到Dokcer Hub命令:
docker login --username hapgaoyi
语法:docker login --username [用户名]
输入命令后回车则会提示让你输入密码,密码如果正确,则提示Login Succeeded,如图:
2、登录到阿里云镜像仓库命令:
docker login --username=hapgaoyi mtlxrshz.mirror.aliyuncs.com。如图:
如果想通过命令直接把密码带上则可以加一个“--password“的参数来指定密码。
登录是为了可以拉取私有镜像,如果不需要拉取私有镜像,只想拉取公开镜像则可以忽略登录这一步。
二、拉取镜像
命令:
docker pull [镜像名称]:[镜像标签]
如果不带镜像标签则表示拉取最新版本的镜像,如:
docker pull [镜像名称]
还有一种写法是:
docker image pull [镜像名称]:[镜像标签]
在这里,我们拉取一下Redis的镜像。
如:
docker pull redis
上图显示,使用默认的最新的一个Redis镜像。
拉取了镜像之后,我们可以再来看下Docker里有哪些镜像。
三、查看本地镜像
命令:
docker image ls
如图:
有了镜像之后,我们再来运行镜像,这里以Redis 为例。
四、创建容器(运行镜像)
命令:
docker run [参数] [镜像名称]
这个命令表示运行一个镜像,如果本地不存在这个镜像,Docker会自动拉取镜像并运行,同时创建了一个容器。
docker run --name redis -p 6379:639 redis
这里表示运行Redis镜像,同时为容器起一个名称叫redis,--name参数表示为容器起一个名字。-p 6379:6379表示指定容器访问端口,第一个6379是提供给对外访问的端口,第二个6379是基于docker容器内部端口。这里两个端口设置一样,当然,可以不同;如果我们要在自己的电脑访问docker上的redis服务的话,可以用第一个端口6379。
也可以用更简单的命令创建Redis容器,如 docker run redis。
创建Redis容器后,我们可以查看正在运行的容器。
五、查看容器
查看正在运行的容器命令:
docker ps
如图:
查看所有的容器(包括正在运行的和已经停止了的):
docker ps -a
既然Redis容器已经运行,我们可以在本机测试下,这里提供两种方式:
1、下载一个Redis客户端工具,我们这里使用Redis Desktop Manager工具
如图:
点击确定后:
成功访问!
2、使用Docker exec命令进入Redis 容器
docker exec -it redis /bin/bash
如图:
进入Redis容器后,启用Redis客户端如:
redis-cli
开始使用:
六、停止容器并删除
如果我们不想使用某个容器,比如上面的Redis容器,我们可以停掉,如:
docker stop redis
如果我们想再次使用Redis容器,可以直接使用如下命令启动容器无需重复使用docker run命令。
如:
docker start redis
如果我们想要删除不用的容器可以用以下命令:
docker rm redis
如果容器正在运行,我们需要停掉在删除,如果我们需要强制删除容器可以用下面的命令:
docker rm redis --force
上面的redis均表示容器名称,不是镜像名称。
七、删除镜像
如果我们觉得某些镜像以后不会用到,我们可以将它删除,如:
docker rmi redis
表示删除redis镜像
清理未使用的镜像:
docker system prune
八、查看Docker镜像、容器、本地卷等空间使用情况
docker system df
如果想看详情的空间占用情况可以用
docker system df -v
好了,今天的介绍就到这了,后续我们继续小试牛刀演示在docker中运行mysql镜像和rabbitmq镜像等实例。