centos查看docker是否在运行_Docker 详解

本文详细介绍了在CentOS上安装Docker的步骤,包括系统内核检查、yum源设置、Docker安装及启动,并讲解了Docker基本命令、Dockerfile的使用以及docker-compose配置。此外,还涵盖了Dockerfile的各个指令解析,如FROM、MAINTAINER、RUN等。
摘要由CSDN通过智能技术生成
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker简介

一、Docker 安装

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本

uname -r

2、(使用 root 权限登录 Centos)确保 yum 包更新到最新。

sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

sudo yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

7、安装docker

sudo yum install docker-ce

8、启动并加入开机启动

sudo systemctl start docker
sudo systemctl restart docker    # 重启 
sudo systemctl status docker #  查看状态 
sudo systemctl stop docker  # 停止 
sudo systemctl enable docker

9、将用户移动到docker组里

sudo usermod -G docker $USER //将当前用户添加到docker组中.
docker version # 查看版本

二、docker 基本命令详解

1.查找镜像

docker search nginx

2.拉取镜像

docker pull nginx

3.运行镜像并进入镜像

docker run - 运行一个容器 -t - 分配一个(伪)tty (link is external) -i - 交互模式 (so we can interact with it) nginx- 使用 nginx 基础镜像 /bin/bash - 运行命令 bash shell

docker run -i -t nginx /bin/bash

4.docker 命令帮助

docker   # docker 命令帮助
Commands:
    attach  # 当前 shell 下 attach 连接指定运行镜像
    build   # 通过 Dockerfile 定制镜像
    commit  # 提交当前容器为新的镜像
    cp      # 从容器中拷贝指定文件或者目录到宿主机中
    create  # 创建一个新的容器,同 run,但不启动容器
    diff    # 查看 docker 容器变化,检查容器文件系统上文件或目录的更改 A    添加了文件或目录,D  文件或目录已删除,C 文件或目录已更改
    events  # 从 docker 服务获取容器实时事件
    exec    # 在已存在的容器上运行命令
    export  # 导出容器的内容流作为一个 tar 归档文件[对应 import ]
    history # 展示一个镜像形成历史
    images  # 列出系统当前镜像
    import  # 从tar包中的内容创建一个新的文件系统映像[对应 export]
    info    # 显示系统相关信息
    inspect # 查看容器详细信息
    kill    # kill 指定 docker 容器
    load    # 从一个 tar 包中加载一个镜像[对应 save]
    login   # 注册或者登陆一个 docker 源服务器
    logout  # 从当前 Docker registry 退出
    logs    # 输出当前容器日志信息 -f 动态查看
    port    # 查看映射端口对应的容器内部源端口
    pause   # 暂停容器
    ps      # 列出容器列表
    pull    # 从docker镜像源服务器拉取指定镜像或者库镜像
    push    # 推送指定镜像或者库镜像至docker源服务器
    restart # 重启运行的容器
    rm      # 移除一个或者多个容器
    rmi     # 移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]
    run     # 创建一个新的容器并运行一个命令
    save    # 保存一个镜像为一个 tar 包[对应 load]
    search  # 在 docker hub 中搜索镜像
    start   # 启动容器
    stop    # 停止容器
    tag     # 给源中镜像打标签
    top     # 查看容器中运行的进程信息
    unpause # 取消暂停容器
    version # 查看 docker 版本号
    wait    # 截取容器停止时的退出状态值

5. docker option

Usage of docker:
  --api-enable-cors=false  # 远程 API 中开启 CORS 头
  -b, --bridge=""   # 桥接网络use 'none' to disable container networking
  --bip=""    # 和 -b 选项不兼容,具体没有测试过
  -d, --daemon=false   # daemon 模式
  -D, --debug=false   # debug 模式
  --dns=[]    # 强制 docker 使用指定 dns 服务器
  --dns-search=[]   # 强制 docker 使用指定 dns 搜索域
  -e, --exec-driver="native"  # 强制 docker 运行时使用指定执行驱动器
  --fixed-cidr=""            IPv4 subnet for fixed IPs (ex: 10.20.0.0/16)this subnet must be nested in the bridge subnet (which is defined by -b or --bip)
  -G, --group="docker"       Group to assign the unix socket specified by -H when running in daemon mode
                                           use '' (the empty string) to disable setting of a group
  -g, --graph="/var/lib/docker"  # 容器运行的根目录路径
  -H, --host=[] # daemon 模式下 docker 指定绑定方式[tcp or 本地 socket]
                                           specified using one or more tcp://host:port, unix:///path/to/socket, fd://* or fd://socketfd.
  --icc=true  # 跨容器通信
  --insecure-registry=[]                 Enable insecure communication with specified registries (no certificate verification for HTTPS and enable HTTP fallback) (e.g., localhost:5000 or 10.20.0.0/16)
  --ip="0.0.0.0"   # 指定监听地址,默认所有 ip
  --ip-forward=true  # 开启转发
  --ip-masq=true         Enable IP masquerading for bridge's IP range
  --iptables=true   # 添加对应 iptables 规则
  --mtu=0        # 设置网络 mtu
                                           if no value is provided: default to the default route MTU or 1500 if no default route is available
  -p, --pidfile="/var/run/docker.pid"    # 指定 pid 文件位置
  --registry-mirror=[]        Specify a preferred Docker registry mirror                  
  -s, --storage-driver=""    # 强制 docker 运行时使用指定存储驱动
  --selinux-enabled=false     # 开启 selinux 支持
  --storage-opt=[]           # 设置存储驱动选项
  --tls=false               # 开启 tls
  --tlscacert="/root/.docker/ca.pem"     Trust only remotes providing a certificate signed by the CA given here
  --tlscert="/root/.docker/cert.pem"    # tls 证书文件位置
  --tlskey="/root/.docker/key.pem"       # tls key 文件位置
  --tlsverify=false                      # 使用 tls 并确认远程控制主机
  -v, --version=false            # 输出 docker 版本信息

6.docker run

docker run --help
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container
  -a, --attach=[] Attach to stdin, stdout or stderr.
  -c, --cpu-shares=0 # 设置 cpu 使用权重 --cap-add=[] Add Linux capabilities
  --cap-drop=[] Drop Linux capabilities
  --cidfile=""  # 把容器 id 写入到指定文件 
  --cpuset="" # cpu 绑定 -d, --detach=false Detached mode: Run container in the background, print new container id # 后台运行容器 
  --device=[] Add a host device to the container (e.g. --device=/dev/sdc:/dev/xvdc) 
  --dns=[]  # 设置 dns 
  --dns-search=[]  # 设置 dns 域搜索 
  -e, --env=[] # 定义环境变量 
  --entrypoint="" Overwrite the default entrypoint of the image # ? 
  --env-file=[] # 从指定文件读取变量值 
  --expose=[] # 指定对外提供服务端口 
  -h, --hostname=""  # 设置容器主机名 
  -i, --interactive=false # 保持标准输出开启即使没有 attached 
  --link=[]  # 添加链接到另外一个容器 
  --lxc-conf=[] (lxc exec-driver only) Add custom lxc options 
  --lxc-conf="lxc.cgroup.cpuset.cpus = 0,1" 
  -m, --memory="" # 内存限制 
  --name=""  # 设置容器名 
  --net="bridge"  # 设置容器网络模式 'bridge': creates a new network stack for the container on the docker bridge 'none': no networking for this container 'container:<name|id>': reuses another container network stack 'host': use the host network stack inside the container.  Note: the host mode gives the container full access to local system services such as D-bus and is therefore considered insecure.
  -P, --publish-all=false  # 自动映射容器对外提供服务的端口 
  -p, --publish=[] # 指定端口映射  format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort  (use 'docker port' to see the actual mapping) 
  --privileged=false  # 提供更多的权限给容器 
  --restart="" Restart policy to apply when a container exits (no, on-failure[:max-retry], always) 
  --rm=false # 如果容器退出自动移除和 -d 选项冲突 --security-opt=[] Security Options
  --sig-proxy=true Proxify received signals to the process (even in non-tty mode). SIGCHLD is not proxied.
  -t, --tty=false  # 分配伪终端 
  -u, --user=""  # 指定运行容器的用户 uid 或者用户名 
  -v, --volume=[]  # 挂载卷 
  --volumes-from=[] # 从指定容器挂载卷 
  -w, --workdir=""  # 指定容器工作目录

7.命令举例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值