• 02 docker容器


    docker容器

    容器就是对外提供服务的一个实例。

    容器启动的必要条件:容器内至少有一个进程运行在前台

    创建容器

    # 格式
    	docker run [参数] [镜像名称] [运行容器的启动命令]
    	
    # 参数
    	-d : 以守护进程的方式运行一个容器
    		docker run -d [镜像名称] [cmd]
    	
    	--name : 指定容器的名称
    		docker run -d --name [容器名称] [镜像的名称] [cmd]
    	
    	-p : 指定端口映射
    		docker run -d -p 宿主主机端口:容器内端口 [镜像名称] [cmd]
    	
    	-P :随机端口映射
    		docker run -d -P [镜像名称] [cmd]
    	
    	-i : 打开标准输出
    	
    	-t : 创建一个伪终端
    		docker run -it [镜像名称] [cmd]
    	
    	-v : 挂载目录到容器中
    		docker run -v 宿主主机目录:容器内目录  [镜像名称] [cmd]
    	
    	--rm : 容器生命周期结束时立即删除
    		docker run --rm [镜像名称] [cmd]
    	
    	-e : 在容器中创建一个环境变量
    		docker run -e NAME=Centos -d [镜像名称] [cmd]
    	
    	--link : 连接上一个容器,实现网络互通
    		docker run --link 被连接的容器的名称:连接别名 [镜像名称] [cmd]
    	
    	-h : 设置容器主机名
    		docker run -h "主机名"  [镜像名称] [cmd]
    
        logs : 查看容器日志 -f相当于tail -f
    
    # docker run 运行流程
    1、检查本地是否用指定镜像,如果没有则去对应的仓库下载镜像
    2、启动容器,如果指定了命令则使用指定的命令,如果没有则使用默认的命令
    3、返回容器ID
    
    # nginx前台启动
    [root@docker ~]# nginx -g 'daemon off;'
    

    查看本机的容器列表

    # 格式	
    	docker ps [参数]
    	docker ps # 查看当前系统中正在运行的容器列表
    
    #参数
    	-a : 查看系统中所有的容器。
    	-q : 仅显示容器的ID
    

    停止和启动一个容器

    # 停止
    	docker stop [容器的ID|名称]
    	
    # 启动(该容器必须是系统已经存在的容器)
    	docker start [容器的ID|名称]
    

    删除容器

    # 格式
    	docker rm [容器名称|ID]
    
    # 参数
    	-f : 强制删除
    	docker rm -f [容器名称|ID]
    
    # 清空容器
    docker rm $(docker ps -a -q)
    

    查看容器内容

    # 格式
    	docker inspect [容器名称|ID]
    
    # 怎么监控docker运行状态?
    docker inspect -f '{{.State.Running}}' nginx
    

    复制命令

    1、复制到容器内
    	docker cp [宿主主机文件路径]  容器ID:容器内路径
    
    2、复制到容器外
    	docker cp 容器ID:容器内路径 [宿主主机文件路径]
    

    进入容器

    # 进入容器一般有四种
    
    1、exec : 在容器外向容器内执行一个命令(官方推荐)
    	docker exec [参数] [容器的名称|ID] [cmd]
    	# 案例
        [root@docker ~]# docker exec nginx ls /etc/nginx/conf.d
        default.conf
        [root@docker ~]# docker exec -it nginx bash
        root@7147930d1a61:/# cd /etc/nginx/conf.d/
        root@7147930d1a61:/etc/nginx/conf.d# ls
        default.conf
    
    2、attach : 在早期docker提供的进入容器的命令(缺点:当其结束时,容器也跟着结束了)
    	docker attach [容器ID|名称]
    
    3、nsenter : 建立一个管道连接上容器主ID
    	nsenter --target $( docker inspect -f {{.State.Pid}} 30d369d70bcd) --mount --uts --ipc --net --pid
    
    4、ssh : 通过ssh连接
    
  • 相关阅读:
    LR12解决不能打开webTours服务问题
    python中join()方法介绍
    python中的sort方法和sorted方法
    如何发送最新的测试报告到目标邮箱?
    python2.7发送邮件失败之——邮箱安全问题
    python2.7发送邮件失败之——代码问题
    python2.7发送邮件失败之——SMTPAuthenticationError问题
    使用HTMLTestRunner在目标目录下并未生成HTML文件解决办法
    python标准日志模块logging及日志系统设计
    性能测试需求分析
  • 原文地址:https://www.cnblogs.com/zhaokunhao/p/14920313.html
Copyright © 2020-2023  润新知