Docker常用命令

镜像操作

Docker images     :列出本机现有的镜像列表

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        15 months ago       1.84kB
REPOSITORY :镜像名
TAG:标签
IMAGE ID :镜像ID
CREATED: 镜像创建时间
SIZE:镜像大小

同一个仓库源矿业有多个TAG标签,代表这个仓库源有多个不同的版本,我们使用REPOSIDTORY:TAG来定义不同的版本的镜像。

 

docker  search  ***  查找所需镜像,下载数量多的

例子:

docker search -s 300 tomcat  点赞数超过300的tomcat镜像

docker pull tomcat  下载镜像,  不加任何参数,代表下载最新的【docker pull tomcat:latest】

备注:docker pull tomcat:3.2   就是下载3.2版本的。

 

docker rmi  镜像名或者镜像ID, 

docker rim -f  hello-world  

docker rim -f  hello-world nginx  删除多个。

docker rmi -f  $(docker images -qa)    全部删除 

 容器操作

docker  ps  :查看当前运行的容器

docker run -it centos --name'

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              e36064f7c6f0        47 hours ago        528MB
centos              latest              470671670cac        2 months ago        237MB
[root@localhost ~]# docker run -it --name mycentos7 470671670cac
启动设置别名

-i:  以交互式运行当前容器   

-t:  打开交互式窗口

docker run -d   以守护进程的方式启动容器并后台运行。

退出交互式窗口   

exit :关闭容器并退出

ctrl +p+q  :退出容器,但不关闭容器

--name :为容器添加 名称

docker start   容器id  启动容器

docker restart 容器id  重启容器

docker  stop 容器id 停止容器

docker  kill 容器 id  强制停止容器

docker rm 容器id 删除停止的容器

docker rm -f ¥(docker ps -qa) 删除全部的容器

docker ps -qa|xargs docker rm 删除全部的容器。

docker logs -ft --tall 容器名   t:时间戳,f :跟随最新的日志打印 ,tall 显示最后多少条  【查查容器的日志】

 docker logs -ft --tall   3 

docker top  容器id   查看当前容器内的进程

docker inspect  容器id  查看容器内部的细节。

docker attach   正在运行的容器id       进入正在运行的容器。

docker exec -t 容器id   操作正在运行的容器  并返回结果

例子:docker exec -t  10b9a34559ab9  ls -l /tmp   针对这个容器,直接运行此命令,未进入交互窗口

 例1:从当前容器中拷贝 文件至宿主机。

解:docker cp  容器进程ID:/tem/test.log   /home/test/    [源目录,至,目标目录]  

备注:

[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
52d65a5bdb95 centos "/bin/bash" About a minute ago Up About a minute nifty_raman

[root@localhost ~]# docker cp 52d65a5bdb95:/home/test.log /tmp

 启动镜像并分配端口:

docker run -it -p 8888:8080 tomcat    :启动tomcat,外部访问端口为8888,实际tomcat开放端口为8080

把修改后的容器作为一个新的镜像

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
e0d9081d7418        python              "python3"           33 seconds ago      Up 25 seconds       0.0.0.0:8089->8083/tcp   determined_sutherland
[root@localhost ~]# docker commit -a='sjc' -m='my test file' e0d9081d7418 sjc/python3test:1.8   
sha256:1a6466fed24c511e63f739ea9e9d8e010a6723b5f6acfb68534737c4c9e7cd3b
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
sjc/python3test     1.8                 1a6466fed24c        18 seconds ago      934MB
tomcat              latest              e36064f7c6f0        6 days ago          528MB
python              latest              d47898c6f4b0        7 days ago          933MB
centos              latest              470671670cac        2 months ago        237MB

ps: -a  作者  -m :调教的描述。

进入容器后,可以修改容器的配置,修改完成之后。运行docker commit命令进行镜像的提交生成新的镜像

例子: docker commit -a='sjc' -m='this test imgage'  e0d9081d7418  aliyun/centos:7.8

注释:docker commit -a="作者" -m="描述信息"  运行的容器 ID.   镜像名及镜像标签

 

posted on 2020-04-10 10:58  超nmmmmm  阅读(195)  评论(0)    收藏  举报

导航