Posted on 2022-03-28 16:57
魔のkyo 阅读(93)
评论(0) 编辑 收藏 引用
启动一个容器
docker run -h 容器主机名 --name 容器名 -Pdit 镜像名
启动一个新的bash进行管理
docker exec -it 容器名 bash
其他常用命令
|
镜像 |
容器 |
创建 |
build -t/commit |
create/run |
删除 |
rmi |
rm |
重命名 |
tag+rmi |
rename |
查看列表 |
images |
ps/ps -a/ps -l -q |
运行状态 |
stats |
top |
查看日志 |
history |
logs |
拉取 |
pull |
|
推送 |
push |
|
查找 |
search |
|
查看容器信息 |
|
inspect |
发信号 |
|
kill |
附到主进程 |
|
attach |
执行新进程 |
|
exec |
docker run 常用参数
-d # 后台运行
-it # 打开STDIN,
支持终端登录
--name <容器名>
-h <主机名>
-P # 随机映射所有配置在EXPOSE中的端口
-p [<宿主端口>:]<容器端口> # 指定映射一个端口,不指定宿主端口时表示随机
-v <宿主路径>:<容器路径>[:ro|:rw] # 卷映射,容器路径不存在时自动创建,ro表示只读,默认是rw表示读写
--volumes-from <容器名> # 指定容器里的所有卷都将加入到新创建的容器里
--network <网络名> # 默认bridge,同一个非默认网络下的容器可以使用主机名相互访问
--link <容器名>:<主机名> # 在新创建的容器里可以通过主机名访问另一个运行中的容器
--add-host <主机名>:<IP> # 指定主机名解析添加到/etc/hosts文件
--env <环境变量名>=<环境变量值> # 设置环境变量,-e 选项可以重复多次
--env-file <环境变量文件> # 指定环境变量文件,换行符分割
--user <用户名>
--workdir <工作目录>
--mac-address="xx:xx:xx:xx:xx:xx" # 指定MAC地址
关于资源限制的参数:
--cpuset-cpus="1,3" 限制在核1、3上运行
--memory=1G 限制内存最大使用1G
--device-read-bps /dev/sdd:40mb 限制读取sdd的速度最大40mb
--device-write-bps /dev/sdd:30mb 限制写入sdd的速度最大30mb
(机械硬盘读写速度是
60-80MB,固态硬盘读写速度是130~300MB,都是写慢读快)
docker network 常用参数
create 创建一个新的网络
connect 向一个网络中添加一个容器
disconnect 从一个网络中移除一个容器
inspect 查看指定网络详细信息
ls 查看网络列表
rm 删除指定网络
prune 删除所有未使用的网络
docker inspect
--format format的用法比较复杂,用3个逐级深入的例子演示
docker_id 查看容器的Id
docker inspect --format='{{.Id}}' 容器名
docker_ip 查看容器在所有网络中分配的所有的ip
docker inspect --format='{{range .NetworkSettings.Networks}}{{println .IPAddress}}{{end}}' 容器名
docker_port 查看容器所有的端口映射情况,用docker inspect实现 docker port命令
docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{range $conf}}{{$p}} -> {{.HostIp}}:{{.HostPort}}{{println}}{{end}}{{end}}' 容器名