-docker容器常用选项、命令、容器数据持久化)
1、常用选项docker run [options] image [command] [arg...]选项描述-i,-interactive交互式-t,-tty分配一个伪终端-d,-detach运行容器到后台-e,-env设置环境变量-p发布容器端口到主机 宿主机:容器端口--name string指定容器名称-h设置容器主机名--ip指定容器ip,只能用于自定义网络--network连接容器到一个网络-v,-volume list--mount mount将文件系统附加到容器--restart string容器退出时重启策略默认no,可选值【always|on-failure】创建并设置自启动docker run -d --nameweb -p 88:80 --restartalways nignx:1.22docker ps 只能查看运行中的容器docker ps -a查看所有容器包含退出的dockers rm 容器id 可以删除容器docker run -d -e abc123 -p 88:80 --namenginx-demo -h nginxrestart如果docker重启容器就会自动重启。docker logs nginx-demo -f 实时查看日志docker exec nginx-demo ls 让容器执行一个命令docker exec -it niginx-demo bash 进入容器执行命令docker run -d centos:7无法保活原因是里面没有一个服务持续运行。如果希望启动不被退出docker run -itd centos:7这样就可以保活因为it分配了一个伪终端来保证它不被退出-m容器可以使用的最大内存量--cpus可以使用的cpu数量-cpuset-cpus限制容器使用特定的cpu核心如0-301docker run -d --nameweb1 -p 88:80 --restartalways --memory1G --cpus1 nginx:1.222、常用命令选项描述ps/ls列出容器inspect查看一个或多个容器信息exec在运行容器中执行命令cp拷贝文件/文件夹到一个容器logs获取一个容器日志stats显示容器资源使用统计stop/start/restart停止/启动 一个或多个容器rm删除一个或多个容器docker container logs 容器名称或IDdocker contanier stats 容器名称或ID docker inspect 可以看到设置的name,端口绑定重启策略cpu,内存限制、数据卷挂载自定义变量可以反推出docker run执行的命令3、数据持久化一个容器尽量只允许一个服务容器都是临时性的容器会频繁重建。两种方式valumes :docker管理宿主机文件系统的一部分/var/lib/docker/volumesbind mounts:将宿主机上的任意位置的文件或者目录挂载到容器中区别 一个是自己管理一个是手动挂载valume :docker管理volumes ls查看卷docker volume create nginx-vol创建卷docker volume inspect nginx-vol可以看到mountPoint是/var/lib/docker/volumes/nginx-vol/_data/var/lib/docker/volumes就是默认路径如何使用docker run -d --nameniginx-vol1 --mount srcnginx-vol,dst/data nginx:1.2docker ps -l只看最新创建的dst/data实现将容器中的/data目录映射到宿主机的/var/lib/docker/volumes/nginx-vol/_datadocker run -d --namenginx-vol2 --mount typebind,src/data,dst/data nginx:1.22 直接绑定再次启动数据还在docker run -d --namenginx-test -v /app/wwwrot:/usr/share/nignx/html nginx-v 宿主机路径容器路径几种方式效果一样