美文网首页Linux_Docker
Docker 容器化基础管理命令

Docker 容器化基础管理命令

作者: Joening | 来源:发表于2021-06-18 08:09 被阅读0次

docker 安装:

wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce
systemctl start docker 

基础命令

镜像:

docker search  
docker images
docker pull
docker push 
docker save 
docker load
docker tag
docker rmi

容器:

docker run
docker start
docker stop
docker restart
docker rm 
docker  kill
docker logs
docker history
docker exec -it  bash
docker attach 
docker build 
docker stats
docker commit 
docker ps 
docker ps -a
docker ps -a -q  
docker -s -a -l 
docker rm -f `docker ps -a -q `
docker history
docker stats
docker images -q | xargs docker rm -f !!! 危险

docker ps -a |fgrep -i exit | awk '{print $1}' | xargs docker rm -f 

docker rm -f `docker ps -a |fgrep -i exit | awk '{print $1}'`
 
for name in `docker ps -a |fgrep -i exit | awk '{print $1}'`;do docker restart $name ; sleep 1 ;done

echo user{1..100}  | xargs -n1 useradd 

docker ps -a | grep -i exit | awk '{print $1}' | xargs docker restart 

docker ps -a  |fgrep -i exit | awk '{print $1}' | xargs docker rm -f 

time for name in {1..100};do docker run -dit  08b152afcfae ;done >> /dev/null

docker ps -a |awk 'NR>1{print $1}' | xargs docker stop 

docker ps -a -q | xargs docker start 


docker run 启动参数

-d  后台运行
-i  交互式运行
-t  tty终端
--memory    限制容器可以使用的内存,如果没有指定 --memory-swap 那么默认和--memory一样大
eg:  --memory 200m 没有--memory-swap参数,那么容器可以使用的内存为400m
--memory-swap   设置swap区可以使用的内存大小,默认和--memory一样大,必须>=--memory
--cpu-shares    表示占有cpu的相对权重
eg:假设在同一台物理主机上启动了如下2个容器,容器1占用的cpu是容器2占有的cpu的2倍。
同一台物理主机上
        
容器1:
docker run -d  --cpu-shares 10  容器名 
容器2:
docker run  -d  --cpu-shares 5  容器名 
--name  给容器起的名字
--net   指定容器运行的网络(也可以是自己创建的网络 docker network create --subnet=172.18.0.0/24  mynet)
-v  指定volume的路径
    data volume模式:
     别名:容器里面的路径
    mysql:/var/lib/mysql
    /var/lib/mysql 为Dockerfile 中的volume的值
    使用  docker volume ls 命令查看
    本地创建 mysql 数据卷:docker create volume --name mysql
    bind mouting模式:
    本地路径:容器路径 
    /var/data:/var/容器目录
    本地目录和容器目录中的文件修改都会实时同步。
--ip    指定容器的ip地址
-P  随机映射一个端口
-p  本地端口:容器端口。    将容器中的某个端口映射到本地的某个端口上
-e  设置环境变量
--volumes-from  参数用于连接某个指定容器的卷,从而可以访问到指定容器中的所有的卷。示例:blog_demo表示新容器中挂载了blog_demo容器中所有的卷。
--rm    表示容器运行完成后自动删除
-h  设置host主机的名称

官方版

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]    
02.  
03.  -d, --detach=false         指定容器运行于前台还是后台,默认为false     
04.  -i, --interactive=false   打开STDIN,用于控制台交互    
05.  -t, --tty=false            分配tty设备,该可以支持终端登录,默认为false    
06.  -u, --user=""              指定容器的用户    
07.  -a, --attach=[]            登录容器(必须是以docker run -d启动的容器)  
08.  -w, --workdir=""           指定容器的工作目录   
09.  -c, --cpu-shares=0        设置容器CPU权重,在CPU共享场景使用    
10.  -e, --env=[]               指定环境变量,容器中可以使用该环境变量    
11.  -m, --memory=""            指定容器的内存上限    
12.  -P, --publish-all=false    指定容器暴露的端口    
13.  -p, --publish=[]           指定容器暴露的端口   
14.  -h, --hostname=""          指定容器的主机名    
15.  -v, --volume=[]            给容器挂载存储卷,挂载到容器的某个目录    
16.  --volumes-from=[]          给容器挂载其他容器上的卷,挂载到容器的某个目录  
17.  --cap-add=[]               添加权限,权限清单详见:http://linux.die.net/man/7/capabilities    
18.  --cap-drop=[]              删除权限,权限清单详见:http://linux.die.net/man/7/capabilities    
19.  --cidfile=""               运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法    
20.  --cpuset=""                设置容器可以使用哪些CPU,此参数可以用来容器独占CPU    
21.  --device=[]                添加主机设备给容器,相当于设备直通    
22.  --dns=[]                   指定容器的dns服务器    
23.  --dns-search=[]            指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件    
24.  --entrypoint=""            覆盖image的入口点    
25.  --env-file=[]              指定环境变量文件,文件格式为每行一个环境变量    
26.  --expose=[]                指定容器暴露的端口,即修改镜像的暴露端口    
27.  --link=[]                  指定容器间的关联,使用其他容器的IP、env等信息    
28.  --lxc-conf=[]              指定容器的配置文件,只有在指定--exec-driver=lxc时使用    
29.  --name=""                  指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字    
30.  --net="bridge"             容器网络设置:  
31.                                bridge 使用docker daemon指定的网桥       
32.                                host    //容器使用主机的网络    
33.                                container:NAME_or_ID  >//使用其他容器的网路,共享IP和PORT等网络资源    
34.                                none 容器使用自己的网络(类似--net=bridge),但是不进行配置   
35.  --privileged=false         指定容器是否为特权容器,特权容器拥有所有的capabilities    
36.  --restart="no"             指定容器停止后的重启策略:  
37.                                no:容器退出时不重启    
38.                                on-failure:容器故障退出(返回值非零)时重启   
39.                                always:容器退出时总是重启    
40.  --rm=false                 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)    
41.  --sig-proxy=true           设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理    

dockerfile常用指令:

  • FROM 基础镜像
  • RUN 制作镜像过程中需要的执行命令(安装服务)
  • CMD 容器启动的时候执行的初始命令,容易被替换(启动服务)
  • ENTRYPOINT 容器启动的时候执行的初始命令,不能被替换,如果同时使用CMD和- - - ENTRYPOINT,cmd命令将作为ENTRYPOINT命令的参数
  • ADD 把dockerfile当前目录下的文件拷贝到容器中(自动解压tar包)
  • COPY 把dockerfile当前目录下的文件拷贝到容器中(不解压tar包)
  • WORKDIR 指定容器的默认工作目录(类似cd)
  • EXPOSE 镜像要暴露的端口(docker run -P大写)
  • VOLUME 持久化卷(自动创建随机名字的卷)
  • ENV 环境变量(ssh的密码,数据库的密码)
  • LABEL 镜像的属性标签
  • MAINTAINER 管理者标识

docker网络

  • bridge 默认类型 NAT模式
  • host host类型,使用宿主机网络,网络性能最高
  • container 容器类型。使用其他容器共用网络,k8s中使用
  • none 没有网络,上不了外网

相关文章

  • Docker 容器化基础管理命令

    docker 安装: 基础命令 镜像: 容器: docker run 启动参数 官方版 dockerfile常用指...

  • docker/docker-compose的命令

    docker 命令 容器生命周期管理 容器操作 容器rootfs命令 rootfs 根文件系统,即docker的镜...

  • Docker常用命令

    常用命令: 镜像管理: 容器管理: docker build(docker build命令用于从Dockerfil...

  • 【02】docker 命令

    镜像管理 着重说明docker run  命令: 容器管理 • 监控命令

  • Docker命令使用

    Docker命令分类 容器生命周期管理 容器操作 容器rootfs命令 镜像仓库 本地镜像管理 版本信息 Dock...

  • Docker常用命令

    docker常用命令 命令介绍 管理命令: container 管理容器 image 管理镜像 netwo...

  • 这些docker基本命令你知道吗?

    docker基本命令 docker的命令分为 大类: 1、容器生命周期管理: docker run < image...

  • Docker基本命令

    镜像操作相关命令 容器操作相关命令 访问Docker仓库 Docker数据管理 端口映射与容器互联 Dockerf...

  • Docker命令大全

    docker 常用命令如下 管理命令: container 管理容器 image 管理镜像 netw...

  • docker常用命令整理

    一、docker常用命令 docker容器生命周期管理 docker run 在一个新的容器执行一个命令 dock...

网友评论

    本文标题:Docker 容器化基础管理命令

    本文链接:https://www.haomeiwen.com/subject/tttanktx.html