笔记

docker常用命令_docker

 

 

 

 docker常用命令_docker_02

 

 

Docker的常用命令

帮助命令

 

docker version     查看docker版本
docker info        显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help  帮助命令

 

https://docs.docker.com/engine/reference/run/

 

 

镜像命令

docker images 查看所有本地主机上的镜像

 

[root@gg ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    bf756fb1ae65   13 months ago   13.3kB

REPOSITORY    镜像的仓库员
TAG          镜像的标签
IMAGE ID      镜像的id
CREATED       镜像的创建时间
SIZE          镜像的大小

可选项

docker常用命令_docker_03

 

 

 

搜索镜像

 

docker search mysql
docker search 镜像名

 

 

下载镜像

 

 

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

 

 

删除镜像

 

 

docker rmi -f 镜像id
docker rmi -f 镜像id 镜像id 镜像id
docker rmi -f $(docker images -aq) 删除全部镜像

 

 

容器命令

说明:有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习

docker pull centos

 

新建容器并启动

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


# 测试    启动并进入容器
[root@gg ~]# docker run -it centos /bin/bash
[root@506edd739cb2 /]# ls
bin  etc   lib      lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr

[root@506edd739cb2 /]# exit

 

列出所有运行中的容器

[root@gg ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@gg ~]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED         STATUS                          PORTS     NAMES
506edd739cb2   centos        "/bin/bash"   2 minutes ago   Exited (0) About a minute ago             hopeful_fermat
078c6b3a0933   hello-world   "/hello"      8 minutes ago   Exited (0) 8 minutes ago                  dreamy_galileo
f09e640c050b   hello-world   "/hello"      23 hours ago    Exited (0) 23 hours ago                   cranky_gates

 

退出容器

 

 

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

 

 

删除容器

docker rm 容器id    删除指定容器
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

 

docker ps,发现centos停止了

常见的坑,docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止

nginx,容器启动后,发现自己没有提供服务,就会立即执行,就是没有程序了

 

查看日志

docker logs -tf --tail 10 镜像id

自己编写一段shell脚本
docker run -d centos /bin/sh -c "while true;do echo gg;sleep 1;done"

 

查看容器中进程信息ps

docker top 容器id

docker常用命令_docker_04

 

 

查看镜像的元数据

 

docker inspect 容器id
docker inspect b9fed77f450a

 

docker常用命令_docker_05

 

 

进入当前正在运行的容器

我们荣昌容器都是使用后台方式运行的,需要进入容器,修改一些配置
docker exec b9fed77f450a

docker attach 容器id

docker exec    进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach  进入容器正在执行的终端,不会启动新的进程

 

从容器内拷贝文件到主机上

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

 

0ec15b6a19b7   centos    "/bin/bash"   3 minutes ago   Exited (0) About a minute ago             quizzical_blackburn

[root@gg home]# docker cp 0ec15b6a19b7:/home/test.java /home