三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

cka考证学习记录-k8s学习(一)-docker容器常用选项、命令、容器数据持久化

cka考证学习记录-k8s学习(一)-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 --name=web -p 88:80 --restart=always nignx:1.22

docker ps 只能查看运行中的容器

docker ps -a查看所有容器,包含退出的

dockers rm +容器id 可以删除容器

docker run -d -e abc=123 -p 88:80 --name=nginx-demo -h nginx

restart:如果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-3,0,1)

docker run -d --name=web1 -p 88:80 --restart=always --memory=1G --cpus=1 nginx:1.22

2、常用命令

选项描述
ps/ls列出容器
inspect查看一个或多个容器信息
exec在运行容器中执行命令
cp拷贝文件/文件夹到一个容器
logs获取一个容器日志
stats显示容器资源使用统计
stop/start/restart停止/启动 一个或多个容器
rm删除一个或多个容器

docker container logs <容器名称或ID>

docker contanier stats <容器名称或ID >

docker inspect 可以看到设置的name,端口绑定,重启策略,cpu,内存限制、数据卷挂载,自定义变量,可以反推出docker run执行的命令

3、数据持久化

一个容器尽量只允许一个服务

容器都是临时性的,容器会频繁重建。

两种方式:valumes :docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)

bind 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 --name=niginx-vol1 --mount src=nginx-vol,dst=/data nginx:1.2

docker ps -l只看最新创建的

dst=/data实现将容器中的/data目录映射到宿主机的/var/lib/docker/volumes/nginx-vol/_data

docker run -d --name=nginx-vol2 --mount type=bind,src=/data,dst=/data nginx:1.22 直接绑定,再次启动,数据还在

docker run -d --name=nginx-test -v /app/wwwrot:/usr/share/nignx/html nginx

-v 宿主机路径:容器路径

几种方式效果一样

← 返回列表