Docker Day 1 Docker基础之常用操作指令

GitHub Docker 技术文档:https://github.com/hangyan/docker-resources/blob/master/README_zh.md

如果不想每次运行Docker都使用sudo权限,可以把用户加到Docker组中。

例如: 我的用户名为 user,则添加命令如下;

    sudo  usermod  -aG  docker  user

重启后生效,再次执行Docker指令,直接输入docker xx ,不需要加 sudo 了。

使用docker ps 下面的命令查看 镜像跟容器

    docker ps | awk '{print $2, $NF}'

Docker 三大基础组件

    仓库(Repository)
    镜像(Image)
    容器(Container)

查询

查看正在运行的容器和所有运行的容器

    docker  ps 
    docker  ps  -a

查看镜像

    docker images
    docker images -a

停止

停止容器与停止所有正在运行的容器

    docker stop  想要停止的容器ID
    docker stop $(sudo docker ps -aq )

删除

删除停止运行的容器与所有停止运行的容器

    docker rm  想要停止的容器ID
    docker rm $(docker ps -a -q)    # 删除所有停止运行的容器(使用须小心)。用到了Docker指令嵌套功能
    删除镜像
    docker rmi  想要停止的镜像ID
    docker rmi $(sudo docker images -a -q)

查询镜像

    docke search lnmp

下载镜像

    docker pull idiswy/lnmp

运行镜像

docker run 命令是用来创建运行Docker容器。它至少需要两个参数,一个是镜像名,一个是容器中需要运行的命令

    docker run idiswy/lnmp   echo "Hello World"

修改容器

在 learn/tutorial 容器中安装一个ping工具,由于镜像是ubuntu操作系统构建的,所以可以通过在容器中运行 apt-get install -y ping, 一旦ping工具安装完毕,容器会立刻停止运行,但容器中安装的软件包会一直保留。

     docker run learn/tutorial apt-get install -y ping

创建新镜像

上面修改容器是已经安装了 ping程序包,想要保存这个变更,以便于以后启动容器时不需要重复安装ping程序包。Docker支持在原有镜像基础上,只提交增量修改部分,形成一个新镜像。以后使用新镜像为模板启动容器,容器中就会存在ping软件包,于是就不需要重复安装了。

首先用docker ps -l 找到安装过ping包的容器ID号,然后把这个容器提交为新镜像,镜像名为 learn/ping , 使用 docker commit 把容器提交为新镜像

    docker ps -l    
    docker commit  c61223a01f49  learn/ping

使用新镜像

上面基于容器生成了新的镜像,这个镜像包含ping软件包,这个新镜像可以运行在任何装有Docker引擎的机器上

测试刚才提交的新镜像中安装的ping工具 ping Docker网站

     docker run learn/ping ping www.docker.com

查询容器信息

用 docker ps 查看当前运行的容器, 使用docker inspect 可以看到单个容器的详细信息

可以使用容器ID来指定容器,也可以只是用容器的前3 ~ 4 个字符来指定

    docker inspect 36964c6571ba 

    docker inspect 3696

猜你喜欢

转载自www.cnblogs.com/MeiCheng/p/10425366.html