docker container python
[root@localhost harbor]# docker container
Usage: docker container COMMAND
Manage containers
Commands:
attach 进入容器
commit 以一个运行中的容器为基础镜像建立一个新镜像
cp 在容器和本地文件之间拷贝文件或文件
create 建立一个新的容器
diff 查看一个容器的文件或目录的变化
exec 在一个运行中的容器上执行一个命令
export 以一个tar包的形式导出一个容器的文件系统
inspect 显示一个或者多个容器的详情
kill 杀掉一个或多个运行中的容器
logs 获取某个容器的日志
ls 列出容器
pause 暂停一个或多个容器的全部进程
port 列出容器的端口映射或一个特定的映射
prune 删除全部中止的容器
rename 重命名一个容器
restart 重启一个或多个容器
rm 删除一个或多个容器
run 在一个新容器中执行一个命令
start 启动一个或多个容器
stats 展现一个容器的资源使用状况
stop 中止一个或多个容器
top 展现一个容器正在运行的进程
unpause 暂停一个或多个容器的全部进程
update 更新一个或多个容器的配置
wait 锁定一个或多个容器,而后打印出他们的退出码
、nginx
注意:web
-t 分配一个伪终端,是为了让容器启动后有一个前台进程,由于任何一个后台进程都须要一个前台进程才能跑起来。docker
-d 容器在后台运行网络
-P 大P选型,后面不用接端口,是把容器EXPOSE的端口到宿主机的随机端口,EXPOSE是Dockerfile里面定义的app
-h 容器主机名,默认是一个随机的字符串ide
--name 容器的名称,默认是一个随机字符串spa
-network 链接容器到一个网络,好比咱们自定义一个bridege3d
-mount 将宿主机的数据挂在到容器rest
-restart always 容器退出时,会不断的尝试重启
建立一个容器,容器名为web_o1,容器主机名web_01_hostname 容器会自动启动,访问宿主机的2080端口便可访问容器nginx
run -d --name web_01 -h web_01_hostname -e test=12345 --restart always -p 2088:80 nginx
验证:
一、查看是否建立成功
二、进入容器
三、访问服务
容器资源限制,主要是内存和cpu的限制。
-memory-swappiness :设置容器使用SWAP分区的百分比,也能够设置为不使用。-1是不限制,无限制使用swap,1是不使用,也就是swap和memory的值设置成同样。不设置swap,默认是可使用物理内存的2倍。
--oom-kill-disable :宿主机有om机制,在内存不足时,会找出使用内存最多的内存并杀掉。
·-cpus:使用cpu的数量
-cpuset-cpus:设置容器可使用宿主机的哪几个cpu
例1:建立一个容器,内存限制为500M,swap可使用100M,om机制禁用。
[root@localhost ~]# docker run -d --name nginx01 --memory='500m' --memory-swap='600m' --oom-kill-disable nginx
15eb4507333d0ca3b9a1cee6a764bfeb041bf1ea084daaa176fe56fce3307841
docker stats 15eb4507333d
上图能够看出:内存限制为500M。
例2:建立一个容器,cpu限制使用1.5
docker run -d --name nginx02 --cpus="1.5" nginx
资源限制的意义:当容器被攻击时,即便让容器跑满,也不会让宿主机崩溃。
若是设置cpus=2,则容器可能会跑到200%。
咱们在容器中新建文件(修改容器),而后退出容器。
咱们在容器中建立文件后,退出容器,而后commit,提交新的镜像
查看镜像
用新的镜像启动容器
进入容器查看是否以是新的镜像
验证成功。
[root@localhost ~]# docker cp /tmp/test_copy 1e7a16a5cfd8:/
将宿主机的文件拷贝到容器