• Docker容器操作


    Docker容器操作

    一、查看容器

    查看正在运行的容器
    docker ps
    查看所有容器
    docker ps –a
    查看最后一次运行的容器
    docker ps –l
    查看停止的容器
    docker ps -f status=exited
    

    二、创建容器

    1、create创建

    创建一个新的容器但不启动它

    docker create -参数 --name=容器名  镜像名:tag  启动指令
    
    如:
    docker create -i --name=mycentos1 centos:7  /bin/bash
    
    创建后查看ps -a 发现STATUAS为Created
    
    
    
    参数:
    -i:表示运行容器
    -t:表示容器启动后会分配一个伪终端。
    --name :为创建的容器命名。
    
    
    -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
    -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
    

    2、run创建并运行

    创建容器并直接运行。

    如果启动指令是一个能夯住的命令,那么容器在启动的时候会一直运行等待指令。比如/bin/bash

    否则,容器一启动运行一下命令就会停止。比如 ps -a

    docker run -参数 --name=容器名  镜像名:tag  启动指令
    
    docker run -id --name=p1 python:3.6  # 后台运行,用exec进,退出来继续运行
    docker run -idt(和-id一样) --name=p2 python:3.6
    
    docker run -it --name=p2 python:3.6  # 直接开启伪终端运行COMMAND.exit退出后容器停止运行。
    
    
    参数:
    -i:表示运行容器
    -t:表示容器启动后会分配一个伪终端。此时退出(exit),容器直接停止。
    --name :为创建的容器命名。
    -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。之后exec进出在退出(exit),容器不会停止。
    
    -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
    -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
    

    三、运行和操作容器

    1、启动已经创建好的容器

    只是启动容器,并不能进入容器执行命令。

    # start启动 已经创建好的容器
    docker start 容器id/容器名
    

    2、在运行的容器中执行命令

    exec在运行的容器操作系统中执行命令。启动参数要有i。

    # exec在运行的容器操作系统中执行命令
    docker exec -参数(要有i) 容器id/容器名 操作命令
    docker exec -it 85768eb78045 /bin/bash # 进入该容器控制台
    

    3、连入正在运行的容器

    # attach:连到第一个进程上
    docker attach 容器id/容器名
    
    # ssh连接(容器安装ssh服务)
    

    4、停止和删除容器

    # stop停止 正在运行的容器
    docker stop 容器id/容器名
    
    
    # 容器删除
    docker rm 容器id/容器名字
    

    四、文件拷贝

    # 从宿主机copy文件到容器
    docker cp 需要拷贝的文件或目录 容器名称:容器目录
    
    # 把当前路径下的1.txt拷贝到容器的/home路径下
    docker cp 1.txt c2:/home  
    
    ---------------------------------------------
    # 从容器copy文件到宿主机
    docker cp 容器名称:容器目录 需要拷贝的文件或目录
    
    # 把容器home路径下的1.txt拷贝到当前路径下
    docker cp centos7:/home/1.txt 1.txt  
    

    五、容器映射

    1、目录映射

    我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。

    docker run -参数 --name=容器名 -v 宿主目录:容器目录 镜像名:tag
    
    docker run -di --name=mycentos -v /root/test:/home centos:7
    
    

    2、端口映射

    将宿主机的端口与容器内的端口进行映射,这样我们就可以通过访问宿主机的某个端口而去访问容器的端口。

    docker run -参数 --name=容器名 -p 宿主端口:容器端口 镜像名:tag
    
    # 访问宿主的8888端口即可连接上容器的6379端口的redis服务
    docker run -di --name=myredis -p 8888:6379 redis
    

    六、查看容器信息

    docker inspect 容器id/容器名字   # 信息很多,不方便看
    
    # 这样可以单独查看IP地址
    docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql
    

    七、删除容器

    docker rm 容器id/容器名字
    
  • 相关阅读:
    bzoj 2257 (JSOI 2009) 瓶子与燃料
    bzoj 2257 (JSOI 2009) 瓶子与燃料
    splay 模板 洛谷3369
    费用流 模板 洛谷3381
    bzoj 1024 [SCOI2009]生日快乐——模拟
    bzoj 3231 [Sdoi2008]递归数列——矩阵乘法
    hdu 5823 color II——子集dp(独立集)
    bzoj 1093 [ZJOI2007]最大半连通子图——缩点+拓扑
    洛谷 3959 宝藏——枚举+状压dp
    bzoj 1034 [ZJOI2008]泡泡堂BNB——贪心
  • 原文地址:https://www.cnblogs.com/bowendown/p/12609644.html
Copyright © 2020-2023  润新知