Docker系列(二)之Docker常用命令

参考链接(必看):https://blog.csdn.net/DDDDeng_/article/details/108421269?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

一、帮助命令

docker version    #显示docker的版本信息。
docker info        #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help #帮助命令
#帮助文档的地址:
https://docs.docker.com/engine/reference/commandline/build/

二、镜像命令

docker images #查看所有本地主机上的镜像 可以使用docker image ls代替
docker search 搜索镜像
docker pull 下载镜像 

docker rmi 删除镜像

docker  images       #查看所有本地的主机上的镜像
docker images -aq   #显示所有镜像的id

docker pull 下载镜像

# 下载镜像 docker pull 镜像名[:tag]
➜	~ docker pull tomcat:8
8: Pulling from library/tomcat #如果不写tag,默认就是latest
90fe46dd8199: Already exists	#分层下载: docker image 的核心 联合文件系统
35a4f1977689: Already exists bbc37f14aded: Already exists 74e27dc593d4: Already exists 93a01fbfad7f: Already exists 1478df405869: Pull complete 64f0dd11682b: Pull complete 68ff4e050d11: Pull complete f576086003cf: Pull complete 3b72593ce10e: Pull complete
Digest:   sha256:0c6234e7ec9d10ab32c06423ab829b32e3183ba5bf2620ee66de866df640a027
# 签名 防伪
Status: Downloaded newer image for tomcat:8 docker.io/library/tomcat:8 #真实地址

#等价于
docker pull tomcat:8
docker pull docker.io/library/tomcat:8

docker rmi 删除镜像

~ docker rmi -f 镜像id                                           #删除指定的镜像
➜     ~ docker rmi -f
镜像id 镜像id 镜像id 镜像id  #删除指定的镜像
➜     ~ docker rmi -f $(docker images -aq)          #
删除全部的镜像

三、容器命令

docker run    镜像id            #新建容器并启动
docker
ps                           #列出所有运行的容器  docker container list
docker rm  容器id               #删除指定容器
docker
start  容器id           #启动容器
docker restart 容器id         #重启容器
docker stop   容器id         #停止当前正在运行的容器
docker kill    容器id          #强制停止当前容器

新建容器并启动

docker run [可选参数] image | docker container run [可选参数] image
#参书说明
--name="Name"        容器名字 tomcat01 tomcat02 用来区分容器
-d                    后台方式运行
-it                   使用交互方式运行,进入容器查看内容
-p                    指定容器的端口 -p 8080(宿主机):8080(容器)
                                                 -p ip:主机端口:容器端口
                                                 -p 主机端口:容器端口(常用)
                                                 -p 容器端口容器端口
-P(大写)                随机指定端口

列出所有运行的容器

#docker ps命令 #列出当前正在运行的容器
-a, --all              Show all containers (default shows just running)
-n, --last int         Show n last created containers (includes all states) (default -1)
-q, --quiet            Only display numeric IDs

docker ps -aq  #列出所有正在运行的容器的id

退出容器

exit #容器直接退出
ctrl +P +Q #容器不停止退出

删除容器

docker rm 容器id    #删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -rf docker rm -f $(docker ps -aq)   #删除所有的容器
docker ps -a -q|xargs docker rm  #删除所有的容器

启动和停止容器的操作

docker start 容器id    #启动容器
docker restart 容器id #重启容器
docker stop 容器id     #停止当前正在运行的容器
docker kill 容器id #强制停止当前容器

四、容器其他操作

后台启动命令

# 命令 docker run -d 镜像名
➜     ~ docker run -d centos a8f922c255859622ac45ce3a535b7a0e8253329be4756ed6e32265d2dd2fac6c
➜     ~ docker
ps  #未查看到正在运行的容器

# 问题docker ps. 发现centos 停止了
#   常见的坑,
docker容器使用后台运行,就必须要有要一个前台进程,docker发现没有应用,就会自动停止
#  nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了

查看日志

#显示日志
-tf     #显示日志信息(一直更新)
--tail number #需要显示日志条数
docker logs -t --tail n 容器id #查看n行日志
docker logs -ft 容器id #跟着日志

查看容器中进程信息 ps

docker top 容器id

查看镜像的元数据

# 命令
docker inspect 容器
id
#测试
➜     ~ docker inspect 55321bcae33d
[
{
"Id":
"55321bcae33d15da8280bcac1d2bc1141d213bcc8f8e792edfd832ff61ae5066", "Created":  "2020-05-15T05:22:05.515909071Z",
"Path": "/bin/sh",
...
}]➜     ~

进入当前正在运行的容器

#  我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置
# 命令 方式一

docker exec -it 容器id bashshell

# 方式二
docker attach 容器id
#测试
docker attach 55321bcae33d
正在执行当前的代码...
区别
#docker exec #进入当前容器后开启一个新的终端,可以在里面操作。(常用)
#docker attach # 进入容器正在执行的终端

从容器内拷贝到主机上

docker cp 容器id:容器内路径     主机目的路径

 

 

 

 

 

Guess you like

Origin blog.csdn.net/jatej/article/details/113545883