启动一个容器
docker run -itd -m 10g --name python3 --restart=always --net host -v /root/python_env:/root/python_env docker.io/python:3.6.8
-itd
其中-d:后台启动;-t:进入终端;-i:获得一个交互式的连接--name
给镜像取一个别名--privileged=true
使container内的root拥有真正的root权限。--restart=always
当docker启动时,自动重启容器,always可以换成任意int值,代表重启几次-m 10g
限制内存10g-p port1:port2
端口映射 port1是外部服务器端口,port2是容器端口-v path1:path2
本地文件路径:容器文件路径--net host
使用宿主网络-e username="yalong"
添加到环境变量
容器停止/删除
docker stop/rm containerId
进入/退出一个容器
docker exec -it containerId /bin/bash
exit
,ctrl+D
内存限制
-m 3m
限制3M
示例(运行python容器,限制10G): docker run -itd -m 10g --name python3 --restart=always --net host -v /root/python_env:/root/python_env docker.io/python:3.6.8
查看内存限制
在容器内执行 cat /sys/fs/cgroup/memory/memory.limit_in_bytes
磁盘I/O限制
1、–device-read-bps
限制Docker容器每秒磁盘读的速度
2、–device-read-iops
限制Docker容器每秒磁盘读的I/O
3、 --device-write-bps
限制Docker容器每秒磁盘写的速度
4、–device-write-iops
限制Docker容器每秒磁盘写的I/O
绑定一个卷映射文件到容器
-v 本地文件路径:容器文件路径
网络
--net xxx
,--network xxx
host
,容器与宿主共用网络bridge
,桥接网络,此时要记得暴露服务端口none
,无网络
多个容器互通网络
docker network create my-net
# 创建了一个名为"my-net"的网络docker network connect my-net server-a
a服务连接docker network connect my-net server-b
b服务连接docker network connect my-net server-c
c服务连接docker network inspect my-net
#查看桥接网络信息
端口映射
-p port1:port2
端口映射 port1是外部服务器端口,port2是容器端口