docker 入门

镜像

docker images

docker search mysql

docker pull mysql:5.7

docker rmi 镜像id

docker rmi $(docker images -aq) 删除所有镜像

根据仓库查询

docker images --filter "reference=nginx"
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              bc9a0695f571        8 days ago          133MB

容器

docker run -it image
-i 进入容器, docker run -it centos /bin/bash

--name=name 容器名称
-d 后台运行

Ctrl+P+Q:退出容器,不关闭容器 ,

docker rm -rf 容器id

容器的启动和停止

docker start 容器id
docker restart id
docker stop id
docker kill id

docker run -d --name=hello hello-world

docker rm -f $(docker ps -aq --filter "name=hello")

docker run -it --rm tomcat:9.0
--rm 当停止容器后,一般用来测试,用完及删除 stop后自动删除容器

常用其他命令

docker run -d centos

查看日志

docker logs --tail -ft 200 id

-tf t:timestemp f:format

docker top id 查看容器内部的进程信息

# docker top b1baec2df55c
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                1209                1192                0                   15:00               ?                   00:00:01            /portainer

docker inspect 查看容器的详细信息

-c 参数

进入容器

docker exec -it id /bin/bash 开启新的终端,可以在里面操作
docker attach id 进入容器正在执行的终端

拷贝容器内的文件

docker cp 容器id:/root/a.txt /root/a.txt

安装nginx

docker pull nginx

docker run -d --name nginx01 -p 8888:80 nginx
外部端口:容器端口 映射

数据卷

容器内部的文件和外部做映射

  1. nginx的配置文件修改,在外部处理
  2. tomcat的war包在外部替换,然后重启容器即可 将容器内的webapps做映射