docker命令

简介: docker命令

1、service docker status

查看docker守护进程运行的状态

2、service docker start

启动docker的守护进程

3、service docker stop

关闭docker的守护进程

4、docker info

返回所有容器和镜像的数量、docker使用的执行驱动和存储驱动、以及docker的基本配置信息

5、docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

 docker run -i -t ubuntu /bin/bash
表示创建并启动一个容器,该容器有自己的网络、IP地址;容器中启动了一个ubuntu系统;-i表示设置STDIN,容器运行后接受输入,-t表示容器运行后启动一个tty终端,便于与用户交互,-t和-t都属于OPTIONS;ubuntu是要运行镜像的名字; /bin/bash表示容器启动后运行的初始命令。
运行命令后,会显示“root@410923f574b8:/# ”,表示容器创建并启动成功,容器的ID是410923f574b8,容器中成功运行了ubuntu系统,启动了一个root的bash,然后就可以在这个容器中的ubuntu上执行各种shell命令了;执行exit命令就回到了原宿主ubuntu上了。
执行exit后,容器就停止了,只有在制定的/bin/bash命令处于运行状态的时候,容器才会处于运行状态,一旦退出容器,/bin/bash命令也就停止了,容器也就随之停止了。
docker run --name my_ubuntu -i -t ubuntu /bin/bash 
#用--name指定容器的名字为my_ubuntu,如不指定,系统会默认为容器指定一个名字。如果创建容器相同的名字,会提示失败
docker run --name my_ubuntu -d ubuntu /bin/bash -c "while true; do echo hello lzj; sleep 2; done"
创建守护式容器,没有交互终端;-d 指明创建的容器为守护容器; -c指定?
docker run --restart=always --name my_ubuntu -d ubuntu /bin/bash -c "while true; do echo hello lzj; sleep 2; done"
#--restart=always指定当my_ubuntu退出后,会自动重启。
docker run --restart=on-failure --name my_ubuntu -d ubuntu /bin/bash -c "while true; do echo hello lzj; sleep 2; done"
#--restart=on-failure 指定当容器退出代码非0值的时候,才会自动重启。
docker run --restart=on-failure:10 --name my_ubuntu -d ubuntu /bin/bash -c "while true; do echo hello lzj; sleep 2; done"
#指定最多重启次数为10
docker run -i -t --name docker_name ubuntu:13.06 /bin/bash
#创建一个docker_name容器,运行13.06版本的ubuntu镜像。当仓库中有很多版本的镜像,用此版本指定
docker run -d ubuntu:latest /bin/bash
#让docker容器在后台以守护状态运行,要想查看容器的运行日志,可以用docker logs

6、docker ps [OPTIONS]

  docker ps    #默认显示正在运行的容器
  docker ps -a #列出所有容器,包括正在运行的和已经停止的
  docker ps -l #列出最后一个运行的容器,无论这个容器是正在运行的还是已经停止的
  docker ps -l -q #列出最后一个运行的容器的id,无论这个容器是正在运行的还是已经停止的
  docker ps -n x #显示最后x个容器,不论容器是运行还是已经停止状态的

7、docker start docker_name(容器名)/docker_id

对于已经停止的ring器,可以用start命令启动,或者用docker restart docker_name(容器名)/docker_id

8、docker start docker_name(容器名)/docker_id 与 docker restart docker_name(容器名)/docker_id区别

docker start docker_name(容器名)/docker_id 会丢弃创建容器时指定的各种参数以及初始运行的命令,比如-i 、 -t、 、/bin/bash。
docker restart docker_name(容器名)/docker_id 会保留上述参数,只需要运行 docker attach my_ubuntu,又可以进行交互界面

9、docker stop docker_name(容器名)/docker_id #停止容器

10、docker logs [OPTIONS] CONTAINER

docker logs docker_name(容器名)/docker_id  
打印容器的运行的日志,可以是运行的,也可以是已经停止的容器;尤其是对于守护式容器,可以打印出日志
dcoker logs -f docker_name(容器名)/docker_id  #可以实时监控日志
docker logs --tail 10 docker_name(容器名)/docker_id   #打印出最后10条日志

11、docker top docker_name(容器名)/docker_id #显示docker_name容器中进程

12、docker stats [OPTIONS] [CONTAINER…]

docker status    #可以查看所有守护进程占用的CPU、内存、网络I/O及存储性能I/O的性能和指标

13、在已经启动的容器内部运行进程

docker exec -d docker_name/docker_id touch /home/test.txt
# -d表示后台进程,表示在docker_name容器中运行一个后台进程,用于创建一个test.txt文件,注意该文件存在于容器home目录下,而不是宿主机的home下
docker exec -i -t docker_name/docker_id /bin/bash
#表示创建tty终端,并捕捉STDIN,紧接着在容器内启动一个交互式命令,此时执行exit命令,会退出这个交互式窗口,并不会结束这个容器

14、docker kill [OPTIONS] CONTAINER [CONTAINER…]

docker kill docker_name/docker_id   #杀死指定的容器
docker kill 与 docker stop 区别
docker stop命令会向指定容器发送SIGTERM信号
docker kill命令会向指定容器发送SIGKILL信号

15、docker inspect [OPTIONS] NAME|ID [NAME|ID…]

docker inspect docker_name/docker_id  #可以查看docker_name容器的详细信息,也可以同时查看多个容器的信息
docker inspect 与 docker ps 区别
docker inspect显示指定容器的详细信息;docker ps显示指定容器的简单信息

16、docker rm [OPTIONS] CONTAINER [CONTAINER…]

docker rm docker_name/docker_id   #删除指定容器
docker rm -f docker_name/docker_id  #强制删除指定容器
docker rm `sudo docker ps -a -q`    #删除现有的全部容器,-a会返回所有的容器,-q只返回容器的ID,而不会返回其它的信息
docker rm $(docker ps -a -q)       #删除所有容器

17、docker image COMMAND

docker image ls  #列出本地所有的镜像
docker image rm -f docker_name/docker_id  #强制删除指定的镜像

18、docker pull [OPTIONS] NAME[:TAG|@DIGEST]

docker pull ubuntu:18.10    #从docker hub上拉取18.10版本的ubuntu系统

19、docker search [OPTIONS] TERM

docker search ubuntu  #从docker hub上查找所有可用的ubuntu镜像

20、做镜像,比如在ubuntu上安装一个apache,然后做成一个镜像

1、登录docker hub
  docker login
2、运行ubuntu镜像
  docker run -i -t ubuntu /bin/bash
3、在容器中安装apache
  apt-get update && apt-get install apache
4、退出容器,把容器做成镜像
  docker commit 4fed29523119 softwarebird/apache2  #4fed29523119为容器ID,softwarebird/apache2为仓库名和镜像名
5、或者做镜像时指定更多信息
  docker commit -m"my image" -a"lzj" 4fed29523119 softwarebird/apache2:0.1
  #-m指定提交的信息,-a指定作者

21、docker build [OPTIONS] PATH | URL | -

docker build -i -t softwarebird/my_hello /bin/bash

22、将镜像推送到docker hub

docker push softwarebird/my_hello

23、删除镜像

格式:docker rmi [OPTIONS] IMAGE [IMAGE...]

示例:

    docker rmi 48e8ec9dc407   #48e8ec9dc407为镜像ID
    docker rmi softwarebird/my_hello2   #softwarebird/my_hello2 为镜像名
    docker rmi -f softwarebird/my_hello2    #-f表示强制删除
    docker rmi `docker images -a -q`  #删除所有镜像

24、查找容器中端口对应的宿主机端口

格式:docker port CONTAINER [PRIVATE_PORT[/PROTO]]

docker port container_name 80   #查询container_name容器中80端口映射在宿主机上的端口

25、导入导出镜像

导入:docker save [OPTIONS] IMAGE [IMAGE...]

导出:docker load [OPTIONS]

示例:

docker save -o hello.zip softwarebird/my_hello
#把镜像保存到hello.zip文件中 
docker load -i hello.zip
#把镜像从hello.zip提取出来,然后用docker images命令可以查看提取的命令

26、镜像打标签

docker tag可以给做好的镜像重新打标签,但是原来的镜像依旧存在。

格式:docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

示例:`

docker tag ubuntu:latest ubuntu:19.04
#把latest版本的ubuntu镜像重新打包成19.04版本的ubuntu镜像,然后就存在两个版本的ubuntu镜像`

27、镜像查找

docker search默认从docker hub上查找指定镜像

格式:docker search [OPTIONS] TERM

示例:

        docker search ubuntu
        #查找所有的ubuntu镜像

28、创建镜像

格式:docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

示例:

    docker create -it ubuntu:latest
    #最新版的ubuntu镜像创建一个容器,执行命令后,立即返回创建的容器的id。创建后的容器是停止状态的,可以用docker start命令启动创建好的容器 

29、进入容器

当容器以守护进程方式启动后,如果想进入容器操作,例如

docker run -idt ubuntu

要想进入容器操作,可以选择如下两种方式:

- attach

docker attach stoic_murdock

- exec

docker exec -it serene_banach /bin/bash


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
22天前
|
Linux 持续交付 Go
Docker常用命令总结
这篇文章总结了Docker的基本操作,包括Docker的简介、镜像、容器和仓库的概念。介绍了如何在CentOS上安装和卸载Docker,以及常用Docker命令,如查看和删除镜像、运行和管理容器、文件拷贝和日志查看。还提供了一个curl命令示例来测试本地容器服务。完整内容请参考原文链接:[Docker命令总结](https://blog.csdn.net/javayoungcoolboy/article/details/134975314)。
|
7天前
|
Linux Docker 容器
蓝易云 - 【Linux】如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部)
以上就是在Linux系统和Docker容器中设置启动时运行命令或脚本的方法。希望对你有所帮助。
81 0
|
7天前
|
流计算 Docker 容器
在docker中玩flink时候记录一些组合命令
在docker中玩flink时候记录一些组合命令
11 0
|
22天前
|
运维 Linux Shell
Docker详解(七)——Docker辅助命令
Docker详解(七)——Docker辅助命令
30 4
|
22天前
|
存储 Shell Docker
docker 部署单节点的etcd以及 常用使用命令
在 Docker 中部署单节点的 etcd 以及一些常用命令的操作,可以按照以下步骤进行: ## 一、部署单节点 etcd 1. **拉取 etcd Docker 镜像**:您可以从 Docker Hub 拉取 etcd 的官方镜像。 ```shell docker pull quay.io/coreos/etcd:latest ``` 2. **启动 etcd 容器**:使用 `docker run` 命令来启动 etcd 容器。以下是一个示例命令,其中将容器的 2379 端口映射到主机的 2379 端口: ```shell docker run -d \
|
22天前
|
NoSQL Linux Shell
2.Docker常用命令(linux)
2.Docker常用命令(linux)
|
22天前
|
存储 运维 Linux
Docker详解(六)——Docker高级控制命令
Docker详解(六)——Docker高级控制命令
24 2
|
22天前
|
运维 监控 Linux
【专栏】Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用
【4月更文挑战第28天】本文介绍了Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用。通过基础和高级用法示例,如列出所有容器、搜索特定镜像、监控资源使用等,帮助读者理解和提升容器管理效率。对于Linux运维工程师,掌握`docker ps`是必备技能。
|
22天前
|
Ubuntu Linux Shell
Docker 镜像及其命令
Docker 镜像及其命令
64 0
|
22天前
|
存储 Ubuntu 安全
Docker容器常用命令
Docker容器常用命令
55 1