docker常用命令
什么是docker?
docker是一种容器技术。说白了就是,把程序用容器包裹起来。在这个容器中,已经配置好了程序运行所需要的所有环境。这样无论把这个容器拿到哪里,都能快速运行起来,而不用再费时费力地配置环境。
其实这种思想,有点类似于java的“一次编译,到处运行”。docker屏蔽了操作系统的差异,使得容器一经生成,便可以到处运行,节省大量时间。
为什么要用docker?
便于项目部署和运维。
常用docker命令
获得docker镜像
方式一:使用jar包构建镜像
docker build -t 47.113.33.240/city-brain/city-brain-portal:1.0.5 . --这是把jar包直接打成了远程仓库的镜像
docker build -t city-brain-portal:1.0.5 . --这是把jar包打成了本地仓库的镜像
需要注意的是,命令最后的. 绝对不能漏掉。因为这个.表示了构建镜像所使用的配置文件所在目录为当前目录。如果没有这个.,这个构建命令是无法执行的。当然,也可以用/xxx/xxx来替代.表示配置文件所在目录。
而docker构建命令所使用的配置文件为Dockerfile,里面配置了一系列的环境参数。比如要使用哪个jar包来打镜像,指定了jar包所在目录及名称。我们一般就直接配置Dockerfile文件所在目录就是jar所在目录。所以在docker build之前,我们一般会先把jar包放到Dockerfile所在目录下,并把jar修改为Dockerfile中配置的jar包名称,以避免打镜像时找不到jar包。
一般情况下,Dockerfile文件配置好以后就不会改了。
方式二:从tar文件导入镜像
docker load -i xxxxxx.tar
如何获取这里的tar文件
docker save 47.133.33.240/city-brain/city-brain-portal:2.9.4 > city-brain-portal-2.9.4.tar --这是把远程仓库的镜像打成了本地的tar包
docker save city-brain-portal:2.9.4 > city-brain-portal-2.9.4.tar --这是把本地镜像打成了本地的tar包
方式三:从远程仓库拉取镜像
docker pull 47.133.33.240/city-brain/city-brain-portal:2.9.4
查看本地仓库的所有镜像
docker images
REPOSITORY – 镜像名
TAG – 镜像版本号
IMAGE ID – 镜像id,镜像的唯一标识
CREATED – 镜像的创建时间
SIZE – 镜像大小
启动docker容器
docker run -dit --name basic-ums-be --restart=always -p 7001:7001 -v /root/ums/config/:/home/admin/basic-ums/config basic-ums-be:1.2.3.1
–name 指定的是docker容器的名称
–restart=always指定的是当docker服务重启后自动重启当前容器
-p 7001:7001指定的是docker容器的内部端口号和对外的服务端口号
-v 指定的是当前docker容器外挂配置文件在宿主机中的目录和在docker容器内部的目录
最后的basic-ums-be:1.2.3.1就是指从哪个镜像启动容器
查看docker容器
docker ps -a
-a指的是查看所有容器,包括运行中和停止运行的容器。
STATUS为Up,表示容器运行中。
STATUS为Exited,表示容器退出,未运行。
查看docker日志
docker logs -f --tail 500 basic-ums-be_1.2.3.3
-f 表示持续跟踪日志打印
–tail 500 表示只看最新的500条日志
basic-ums-be_1.2.3.3 是所要查看的容器名称
进入容器内部
docker exec -it 容器ID /bin/bash
进入容器内部以后,其操作跟linux就差不多了,各种命令都能使用。
从容器内部退出
exit
停止docker容器
docker stop 容器ID
这里的容器ID可以通过docker ps命令查看获取。
删除docker容器
docker rm 容器ID
删除docker镜像
docker rmi 镜像ID
这里的镜像ID可以通过docker images命令查看获取。