GVKun编程网logo

[学习记录]Docker基本操作指令(docker基本操作命令)

14

本篇文章给大家谈谈[学习记录]Docker基本操作指令,以及docker基本操作命令的知识点,同时本文还将给你拓展Docker-基本操作、docker7:docker基本操作、DockerDay1Do

本篇文章给大家谈谈[学习记录]Docker基本操作指令,以及docker基本操作命令的知识点,同时本文还将给你拓展Docker - 基本操作、docker 7 :docker基本操作、Docker Day 1 Docker基础之常用操作指令、docker 基本操作等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

[学习记录]Docker基本操作指令(docker基本操作命令)

[学习记录]Docker基本操作指令(docker基本操作命令)

本文参考了《docker容器与容器云》《第一本docker书》

部分指令解释的不会很详细,以后随着用的多了再慢慢完善。

 

1.docker info

docker info需要docker守护进程启动后才能正常执行,因此也能用来判断docker守护进程是否已启动。

 

2.docker run [options] image [command] [arg...]

基于image镜像创建一个容器,并通过指定的选项进行控制

常见选项:

docker run -i -t --name mycontainer ubuntu:latest /bin/bash

-i:使用交互模式,保持输入流开放

-t:使用一个伪终端,在容器内使用一个伪终端实现交互

--name:为容器设定一个名字,否则容器的名字就是系统随机生成的。

ubuntu:latest:镜像名称

/bin/bash:告诉容器启动后运行什么指令

 

3.docker ps -a

列出所有容器

 

4.docker start -i container

启动一个容器,可以使用容器ID或容器名称来指定容器

同理还有docker stop/restart

 

5.docker pull NAME

从仓库中拉取镜像

 

6.docker push NAME

向仓库上传镜像

 

7.docker images

列出主机上的镜像

 

8.docker rm container         docker rmi image

删除容器或删除镜像

 

9.docker attach contain

 

 

完完全全的同步

 

10.docker inspect  CONTAINER|IMAGE

查看镜像或容器的详细信息

 

11.docker commit

讲一个容器制作成一个新的镜像

 

12.docker events

持续打印实时系统时间

 

13.docker history IMAGE

打印指定镜像的历史版本

 

14.docker logs CONTAINER

打印指定容器内部进程的运行日志

 

15.docker top CONTAINER

查看容器内部的进程,通过pid可以在宿主机上找到该进程的映射

宿主机上ps看到的pid与容器内部ps看到的pid不一样,但是构成映射关系

 

16.docker stats

显示容器们的统计信息,有点像任务管理器

 

 

 

Docker - 基本操作

Docker - 基本操作

  1. docker images - 查看已下载的镜像
  2. docker search image_name - 查找镜像库中的镜像,image_name 需替换
    • docker pull image_name 下来镜像
  3. docker ps - 查看正在运行的容器
  4. docker kill <container_id> - 结束容器,container_id 可以通过 docker ps 显示
  5. docker cp
    • docker cp /local/dump.tar 96f7f14e99ab:/data/
    • 将主机 /local/dump.tar 拷贝到容器 96f7f14e99ab/data 目录下
    • docker cp 96f7f14e99ab:/data/sql /local/
    • 将容器 96f7f14e99ab/data/sql 目录拷贝到主机 /local/ 目录
  6. docker run -d -i -t <imageID> /bin/bash - 后台启动容器
  7. docker attach <ContainerID>
  8. docker commit 44cd67874cde centos:oracle - 保存一个镜像
  9. docker rmi containerId - 删除一个镜像
  10. 修改标签:docker tag imagID TGA
  11. 导出容器快照 docker export containerID > IndigoDocker.tar
  12. 导入容器快照为镜像 docker import - oracle-workspace < oracle-workspace.tar
  13. 停止所有的 container,这样才能够删除其中的 images:
    • docker stop $(docker ps -a -q)
  14. 如果想要删除所有 container 的话再加一个指令:
    • docker rm $(docker ps -a -q)
  15. xx
  16. docker 删除容器后不释放,先 docker save 保留镜像后清理,再执行 rm -rf ~/Library/Containers/com.docker.docker/Data/*
  17. k8s: https://www.cnblogs.com/liangDream/p/7358847.html
  18. 下载不了镜像查看可用 IP: dig @114.114.114.114 registry-1.docker.io 添加可用 IP: vi /etc/hosts 修改:54.164.230.151 registry-1.docker.io

常用命令图:

docker 7 :docker基本操作

docker 7 :docker基本操作

  1. 常用的基本操作列表

    命令行

    解释

    创建container

    docker container create image_name

    创建并运行container 及进入交互终端参数

    docker container run -it image_id CMD

    -i 交互模式

    -t 终端

    -it 为分配一个交互式终端

    -d 放在后台

    -p 端口映射

    -v 源地址(宿主机):目标地址(容器)

    --name 指定容器的名字

    -h 指定容器主机名

    --restart=always 每次重启服务,容器跟着重启

    创建并运行container 并让其在后台运行,并端口映射

    docker container run -p [port in

    physical system] : [port in container]

     -d [image] [command]

    查看正在运行的所有container 信息

    docker container ps

    查看最后创建的container

    docker container ps -l

    查看所有container,包括正在运行和已经关闭的

    docker conta

     

     

    iner ps -a

    输出指定container 的stdout 信息(用来看log,效果和tail -f 类似,会实时输出。)

    docker container logs -f [container]

    获取container 指定端口映射关系

    docker container port [container] [port]

    查看container 进程列表

    docker container top [container]

    查看container 详细信息

    docker container inspect [container]

    停止continer

    docker container stop [container]

    强制停止container

    docker container kill [container]

    启动一个已经停止的container

    docker container start [container]

    重启container(若container 处于关闭状态,则直接启动)

    docker container restart [container]

    删除container

    docker container rm [container]

    -f 强制参数

  2. 进入正在运行的容器
    1. exec  语法:docker container exec [OPTIONS] CONTAINER [CONTAINER...]

      完整信息,请查看:docker exec–help

      # exec 会分配一个新的终端(pts)

      docker container exec -it 容器id 或容器名字 /bin/bash

      #执行进入必须要带参数和COMMAND(如:/bin/bash)

      #进入容器可以用容器运行的id, 也可以用容器名称, 其目的都是唯一定位到容器

      [root@localhost ~]# docker container exec -it centos /bin/bash (父镜像)

    2.   attach

      语法:docker container attach CONTAINER

      #如果Docker容器是使用/bin/bash命令启动的,则可以使用attach

      [root@localhost temp]# docker attach t11

    3.  

      #exec 与attach 区别

      EXEC: 在一个正在运行的容器中执行命令,exec是针对已运行的容器实例进行操作,在已运行的容器中执行命令,不创建和启动新的容器,退出shell不会导致容器停止运行。

      Attach: 将本机的标准输入(键盘)、标准输出(屏幕)、错误输出(屏幕)附加到一个运行的容器,也就是说本机的输入直接输到容器中,容器的输出会直接显示在本机的屏幕上,如果退出容器的shell,容器会停止运行。

  3. 容器其他操作

    # 关闭所有正在运行的容器

    [root@master ~]#  docker kill $(docker ps -q)

     

    # 移除所有停止的容器

    [root@master ~]# docker rm $(docker ps -a -q)

    [root@demo ~]# docker container prune

     

    # 根据状态移除

    [root@master ~]# docker rm $(docker ps -q -f 'status=exited' -n 3)

    [root@master ~]# docker rm $(docker ps -q -f 'status=exited')

     

    # 根据标签移除

    [root@master ~]# docker rm $(docker ps -a | grep Nginx | awk '{print $1}')

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

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

[TOC]

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

docker 基本操作

docker 基本操作

最近使用 docker 装在多台机器上安装 clickhouse 集群,学习一下 docker 的基础操作

容器基本操作

1 查看 docker 信息 sudo docker info
2 运行容器 sudo docker run -i -t ubuntu /bin/bash
3 在容器中可以安装软件和我们外面的 linux 机器一样,只是不一样的 ubuntu 和 centos 命令不一样
4 列出容器 sudo docker ps -a (-a 包括没有运行的)
5 启动容器的时候可以给容器命名 sudo docker run --name firstContainername -i -t ubuntu /bin/bash
6 停止容器 sudo docker stop firstContainername (restart)
7 附着进入容器 sudo docker attach firstContainername
8 后台运行容器 sudo docker run -d -i -t ubuntu /bin/bash
9 获取容器日志 sudo docker logs firstContainername
10 持续跟踪容器日志 sudo docker logs -f firstContainername
11 持续跟踪容器日志,并打印时间 sudo docker logs -ft firstContainername
12 可以将日志重定向到宿主机,也有一些日期驱动 sudo docker run --logs-driver="syslog" --name firstContainername -d 使用 syslog 的日志驱动,关于日志驱动百度
13 查看容器内的进程 sudo docker to firstContainername
14 统计容器的内存,网络,cpu,io 等的指标 sudo docker stats firstContainername
15 在后台运行的容器内执行命令 sudo docker exec -d firstContainername touch /etc/new_config_file
16 进入容器 sudo docker exec -it firstContainername /bin/bash
17 停止容易 sudo docker stop firstContainername
18 自动重启 sudo docker run --restart=always --name firstContainername -d ubuntu /bin/sh
--restart=always 无论什么情况停止都会重启,还可以加参数 --restart=on-failure:5 退出代码为非 0 时重启 5 次
19 获取容器信息 sudo docker inspect firstContainername
20 删除容器 sudo docker rm firstContainername
21 删除所有容器 sudo docker rm `sudo docker ps -a -q` -a 返回所有容器 -q 只返回容器的 id


镜像


1 列出所有镜像 sudo docker images
2 拉取镜像 sudo docker pull ubuntu 可以指定版本号,不指定为默认最新的镜像
3 查找镜像 sudo docker search ubuntu
4 注册 docker 账号后就可以使用 docker login 命令进行登录
5 可以拉取一个 centos 镜像 sudo docker pull centos 然后运行 sudo docker run -it --name centosContener centos /bin/bash 进入容器安装 vim yum -y install vim 退出容器 exit 提交容器 sudo docker commit -m"信息" -a "作者" centosContener 镜像用户名 / 仓库名:标签
6 查看镜像的信息 sudo docker inspect 镜像用户名 / 仓库名:标签
7 Dockerfile
FROM centos
RUN yum -y install nginx
EXPOSE 80
sudo docker build -t="镜像用户名 / 仓库名:标签"
8 构建镜像时禁用缓存 sudo docker build --no-cache -t="镜像用户名 / 仓库名:标签"
9 查看 docker 镜像的构建历史 sudo docker history centos 实例 sudo docker history zhaoqinrong/centos:test
10 查看容器端口的映射情况 sudo docker port centosContener 80 会返回映射到宿主机上的端口
11 端口绑定 sudo docker run --name firstContainername -p 80 -d zhaoqinrong/centos
sudo docker run --name firstContainername -p 8080:80 -d zhaoqinrong/centos
sudo docker run --name firstContainername -p 127.0.0.1:8080:80 -d zhaoqinrong/centos
sudo docker run --name firstContainername -p 映射 ip: 映射到宿主机的端口:容器端口 -d zhaoqinrong/centos
sudo docker run --name firstContainername -p -d zhaoqinrong/centos 将构建镜像中的 dockerfile 文件中的 EXPOSE 的所有端口公开,并随机绑定到宿主机的端口上
12 Dockerfile 中的 CMD 命令,RUN 命令是在构建中,docker 容器未启动时作用,而 CMD 是在启动后执行的命令
CMD["/bin/bash","-l"]


docker 网络


1 创建一个 docker 网络 sudo docker network create app
2 sudo docker network inspect app 查看新建网络的信息,包含这个网络中的所有容器
3 查看当前系统中的所有网络 sudo docker network ls
4 在新创建的 app 网络中创建容器 sudo docker run -d --net=app --name db zhaoqinrong/centos
5 将已有容器添加到 app 网络 sudo docker network connect app db2
6 退出 app 网络 sudo docker network disconnect app db2

 

还可以学习一下 docker-compose 和 swarm

感觉 docker 很强大

 

我们今天的关于[学习记录]Docker基本操作指令docker基本操作命令的分享就到这里,谢谢您的阅读,如果想了解更多关于Docker - 基本操作、docker 7 :docker基本操作、Docker Day 1 Docker基础之常用操作指令、docker 基本操作的相关信息,可以在本站进行搜索。

本文标签: