帮助命令

  1. docker version //版本信息
  2. docker info //系统信息
  3. docker 命令 --help //帮助命令

镜像命令

列出镜像
docker images

  1. [root@izwz9i11llygg6kvs2igtmz init.d]# docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. hello-world latest bf756fb1ae65 7 months ago 13.3kB
  4. respository 仓库源
  5. tag 版本号
  6. imageId 镜像id
  7. created 镜像创建时间
  8. size 镜像大小
  9. #可选项
  10. -a,-all 列出所有镜像
  11. -q,--quiet 只显示镜像的id

搜索镜像

命令行 docker search 镜像名[:tag]
ps:版本必须是官网上支持的版本
image.png

下载镜像

docker pull[:tag]

  1. [root@izwz9i11llygg6kvs2igtmz init.d]# docker pull mysql:5.7
  2. 5.7: Pulling from library/mysql
  3. 6ec8c9369e08: Pull complete
  4. 177e5de89054: Pull complete
  5. ab6ccb86eb40: Pull complete
  6. e1ee78841235: Pull complete
  7. 09cd86ccee56: Pull complete
  8. 78bea0594a44: Pull complete
  9. caf5f529ae89: Pull complete
  10. 4e54a8bcf566: Pull complete
  11. 50c21ba6527b: Pull complete
  12. 68e74bb27b39: Pull complete
  13. 5f13eadfe747: Pull complete
  14. Digest: sha256:97869b42772dac5b767f4e4692434fbd5e6b86bcb8695d4feafb52b59fe9ae24
  15. Status: Downloaded newer image for mysql:5.7
  16. docker.io/library/mysql:5.7

删除镜像

  1. docker rmi -f $(docker images -aq) 递归删除所有镜像
  2. docker rmi -f 镜像Id/镜像名

容器命令

创建镜像

  1. docker pull centos

创建并进入容器

  1. docker run[可选参数] image
  2. # 参数说明
  3. --name="Name" 容器名字 tomcat01tomcat02
  4. -d 后台方式运行
  5. -it 交互方式运行
  6. -p 指定容器端口
  7. -p ip:主机端口:容器端口
  8. -p 主机端口:容器端口(常用)
  9. -p 容器端口
  10. -P 随机指定端口(大写p
  1. docker run -it centos /bin/bash
  2. [root@izwz9i11llygg6kvs2igtmz init.d]# docker run -it centos /bin/bash
  3. [root@a3e59b152b52 /]#
  4. a3e59b152b52 这个其实就是容器ID

退出容器

  1. exit //停止容器命令
  2. ctrl +p +q //退出容器

删除容器

不能删除正在运行的容器

  1. docker rm 容器id
  2. docker rm -f 容器id 强制删除
  3. docker rm -f $(docker ps -aq) 删除所有容器

进程

  1. docker ps
  2. -a 显示正在运行的容器
  3. -n=? 显示最近创建的容器
  4. -q 只显示容器编号

启动和停止容器的操作

区别run命令,这边的是说docker服务,相当于如果你关掉容器,它就会消失

  1. docker start 容器id
  2. docker restart 容器id
  3. docker stop 容器id
  4. docker kill 容器id


常用其他命令

后台启动容器

  1. docker run -d contos
  2. 坑:启动的容器必须要有前台程序支持,如果启动一个空容器,它会
  3. 自己结束进程

查看日志

  1. docker logs -tf --tail 容器
  2. -t 显示时间戳
  3. -f follow日志
  4. --tail number 显示最后几行日志

查看容器中进程信息

  1. docker top 容器id
  2. PID 当前进程id
  3. PPID 容器中该进程id

查看容器的元数据

  1. docker inspect 容器id

进入当前运行的容器

  1. //方式1 (常用)
  2. docker exec -it 容器id bash
  3. //方式2
  4. docker attach 容器id
  5. 容器里面有终端概念,也就是我们xshell打开的这种终端的意思,
  6. 方式1是开新终端,方式2是进入在运行的终端

拷贝文件

在服务器上命令行下 - 将容器的文件拷贝到服务器

  1. docker cp a940cbe93953:/home/copyfile.java /home
  2. docker cp 容器id:容器里的文件路径 本机路径
  3. ps:拷贝只是一个手动过程,后期会用-v 卷的技术来自动同步
  1. //详细操作日志
  2. [root@a940cbe93953 home]# ls
  3. copyfile.java
  4. [root@izwz9i11llygg6kvs2igtmz /]# ls
  5. bin boot dev etc home lib lib64 lost+found media mnt opt patch proc root run sbin srv sys tmp usr var www
  6. [root@izwz9i11llygg6kvs2igtmz /]# docker ps
  7. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  8. a940cbe93953 centos "/bin/bash" 5 minutes ago Up 4 minutes focused_mahavira
  9. [root@izwz9i11llygg6kvs2igtmz /]# docker cp a940cbe93953:/home/copyfile.java /home
  10. [root@izwz9i11llygg6kvs2igtmz home]# ls
  11. apache-tomcat-8.5.57 apache-tomcat-9.0.37 copyfile.java redis
  12. apache-tomcat-8.5.57.tar.gz apache-tomcat-9.0.37.tar.gz jdk-8u261-linux-x64.rpm www

基本流程(个人整理)

  1. docker run -it image //创建容器
  2. docker ps -a //显示所有在运行的容器
  3. docker exec/attach 容器id //进入正在运行容器的终端
  4. exit //停止容器
  5. ctrl +p +q //退出容器
  6. ctrl +c //停止容器
  7. docker kill $(docker ps -aq) //批量停止容器

镜像是镜像,容器是容器,run镜像的时候就会创建一个对应的容器。

image.png