系列导航

一、docker入门(概念)

二、docker的安装和镜像管理

三、docker容器的常用命令

四、容器的网络访问

五、容器端口转发

六、docker数据卷

七、手动制作docker镜像

八、docker-file自动构建docker镜像

九、dockerfile指令讲解

十、docker镜像的分层

十一、docker的容器互联

十二、docker仓库

十三、docker的四种网络类型

十四、跨宿主机容器之间的通信

十五、跨主机通信overlay网络

十六、企业级私有仓库harbor

十七、其他

root@node03 ~]# docker container

Usage:      docker container COMMAND

Manage containers

Commands:

attach      Attach local standard input, output, and error streams to a running container

commit      Create a new image from a container's changes

cp          Copy files/folders between a container and the local filesystem

create      Create a new container

diff        Inspect changes to files or directories on a container's filesystem

exec        Run a command in a running container

export      Export a container's filesystem as a tar archive

inspect     Display detailed information on one or more containers

kill        Kill one or more running containers

logs        Fetch the logs of a container

ls          List containers

pause       Pause all processes within one or more containers

port        List port mappings or a specific mapping for the container

prune       Remove all stopped containers

rename      Rename a container

restart     Restart one or more containers

rm          Remove one or more containers

run         Run a command in a new container

start       Start one or more stopped containers

stats       Display a live stream of container(s) resource usage statistics

stop        Stop one or more running containers

top         Display the running processes of a container

unpause     Unpause all processes within one or more containers

update      Update configuration of one or more containers

wait        Block until one or more containers stop, then print their exit codes

1、运行容器docker run

$ docker run --name nginx-test -p 8081:80 -d nginx

参数说明:

  • --name nginx-test:容器名称。
  • -p 8081:80: 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
  • -d nginx: 设置容器在在后台一直运行。

docker run -it –name centos6 centos:6.9 /bin/bash

-it      :分配交互式的终端

-name  :指定容器的名字

/bin/sh  : 覆盖容器的初始命令

运行容器指定名称

不指定名称容器名称是任意的

2、查看容器的列表 docker ps

(1)只看正在运行的容器

[root@node01 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES

24defbb5755b        nginx               "nginx -g 'daemon of…"         19 hours ago          Up 19 hours         0.0.0.0:8081->80/tcp      nginx-test1

字段解释:

CONTAINER ID :容器id

IMAGE:镜像名称

COMMAND:启动容器时启动的命令

CREATED:创建了多长时间

STATUS:最后一次启动后运行了多久

PORTS:端口占用和映射情况

NAMES:容器名称

(2)查看所有的容器

[root@node01 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES

24defbb5755b        nginx               "nginx -g 'daemon of…"         19 hours ago        Up 19 hours          0.0.0.0:8081->80/tcp      nginx-test1

6d28826ceacc        nginx               "nginx -g 'daemon of…"         19 hours ago        Created                                     nginx-test

查看最后一个运行的容器

[root@node03 ~]# docker ps -a -l

3、启动容器进入容器

[root@node03 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS               NAMES

9dc5421ea021        nginx:latest        "nginx -g 'daemon of…"   7 weeks ago         Exited (0) 7 weeks ago                       reverent_lamport

7cb788123876        ubuntu:15.10        "/bin/bash"              2 months ago        Exited (0) 8 weeks ago                       blissful_lewin

[root@node03 ~]# docker start 7cb788123876

7cb788123876

[root@node03 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

7cb788123876        ubuntu:15.10        "/bin/bash"         2 months ago        Up 9 seconds                            blissful_lewin

[root@node03 ~]# docker run -it --name ubuntu_yc ubuntu:15.10

root@cde36937797f:/# ls

bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

例子:拉取centos镜像运行

[root@node03 ~]# docker pull centos:6.9

[root@node03 ~]# docker run -it --name centos_yc centos:6.9

[root@cb2089a95653 /]# ifconfig

eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:03

inet addr:172.17.0.3  Bcast:172.17.255.255  Mask:255.255.0.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:8 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:648 (648.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback

inet addr:127.0.0.1  Mask:255.0.0.0

UP LOOPBACK RUNNING  MTU:65536  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[root@cb2089a95653 /]# ps -ef

UID         PID   PPID  C STIME TTY          TIME CMD

root          1      0  0 12:25 pts/0    00:00:00 /bin/bash

root         13      1  0 12:25 pts/0    00:00:00 ps -ef

[root@cb2089a95653 /]# exit

[root@node03 ~]#

4、容器启动后面命令

命令是容器在启动的时候要执行的命令,不跟命令启动默认的命令

例如如果跟了ps -ef 那么执行完容器就运行完毕

[root@node03 ~]# docker run -it  ubuntu:15.10 ps -ef

UID         PID   PPID  C STIME TTY          TIME CMD

root          1      0  0 12:47 pts/0    00:00:00 ps -ef

root@node03 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES

a7837d2a610f        ubuntu:15.10          "ps -ef"                     49 seconds ago         Exited (0) 48 seconds ago                         agitated_rhodes

5、进入一个正在运行的容器

(1)attach进入容器

[root@node03 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

cb2089a95653        centos:6.9          "/bin/bash"         11 minutes ago      Up 4 seconds                            centos_yc

7cb788123876        ubuntu:15.10        "/bin/bash"         2 months ago        Up 48 minutes                           blissful_lewin

[root@node03 ~]# docker attach cb2089a95653

[root@cb2089a95653 /]#

注:使用attach进入容器如果有多个客户端,客户端会同步所有操作,有任何一个窗口退出ctrl+c退出容器,容器就死了。如下图所示

(2)exec进入容器

画面不同步

进入容器后推出的时候ctrl +p 然后ctrl+q退出后容器不会死

6、停止一个容器

root@node03 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

cb2089a95653        centos:6.9          "/bin/bash"         26 minutes ago      Up 14 minutes                           centos_yc

7cb788123876        ubuntu:15.10        "/bin/bash"         2 months ago        Up About an hour                        blissful_lewin

停止容器

[root@node03 ~]# docker stop cb2089a95653

cb2089a95653

[root@node03 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

7cb788123876        ubuntu:15.10        "/bin/bash"         2 months ago        Up About an hour                        blissful_lewin

杀死容器

[root@node03 ~]# docker kill 7cb788123876

7cb788123876

[root@node03 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

7、删除容器

[root@node03 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES

a7837d2a610f        ubuntu:15.10        "ps -ef"                 8 minutes ago       Exited (0) 8 minutes ago                          agitated_rhodes

cb2089a95653        centos:6.9          "/bin/bash"              31 minutes ago      Exited (0) 4 minutes ago                          centos_yc

cde36937797f        ubuntu:15.10        "/bin/bash"              About an hour ago   Exited (127) 47 minutes ago                       ubuntu_yc

9dc5421ea021        nginx:latest        "nginx -g 'daemon of…"   7 weeks ago         Exited (0) 7 weeks ago                            reverent_lamport

7cb788123876        ubuntu:15.10        "/bin/bash"              2 months ago        Exited (137) 4 minutes ago                        blissful_lewin

[root@node03 ~]# docker rm 7cb788123876

强制删除一个正在运行的容器

[root@node03 ~]# docker rm -f 7cb788123876

一次删除所有容器

删除所有容器

docker rm `docker ps -a -q`

强制删除所有容器

docker rm -f `docker ps -a -q`

8、修改容器中文件(容器里没有vi等工具)

[root@node03 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                           PORTS               NAMES

9dc5421ea021        nginx:latest        "nginx -g 'daemon of…"   7 weeks ago         Exited (0) 7 weeks ago                               reverent_lamport

[root@node03 ~]# docker cp 9dc5421ea021:/etc/nginx/nginx.conf /root

[root@node03 ~]# ls

anaconda-ks.cfg  initial-setup-ks.cfg  nginx.conf  openstack-swift-object  ubuntu:v1.tar.gz

[root@node03 ~]# docker cp  /root/nginx.conf  9dc5421ea021:/etc/nginx/nginx.conf

总结:

docker容器内的第一个进程必须一直处于前台运行的状态(必须夯住),否则这个容器就会处于退出状态。

三、docker容器的常用命令的更多相关文章

  1. docker 容器管理常用命令

    Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: create Create a new container 创建一个容器: ...

  2. Docker容器操作中常用命令集合

    docker pull 从仓库获取所需要的镜像 docker images 显示本地已有的镜像. docker commit 提交更新后的副本. docker build 创建一个新的镜像 ADD 复 ...

  3. docker系列四之docker镜像与容器的常用命令

    docker镜像与容器的常用命令 一.概述   docker的镜像于容器是docker中两个至关重要的概念,首先给各位读者解释一下笔者对于这两个概念的理解.镜像,我们从字面意思上看,镜子里成像,我们人 ...

  4. docker 安装与常用命令与常用容器(containers)环境

    注意区别 container 与 image 的关系,container 的建立需要 image 的承载,也即 container 依赖 image,停止并删除了 container 并不会删除 im ...

  5. Docker基础和常用命令

    Docker基础和常用命令 一,Docker 简介 1.1,什么是 Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,nam ...

  6. Docker 入门指南——常用命令

    前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...

  7. Docker系列之常用命令操作手册

    目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4.Docker容器操作 Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Doc ...

  8. Docker CLI docker buildx build 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  9. Docker CLI docker buildx bake 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  10. 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)

    一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...

随机推荐

  1. 2023-12-16:用go语言,给定整数数组arr,求删除任一元素后, 新数组中长度为k的子数组累加和的最大值。 来自字节。

    2023-12-16:用go语言,给定整数数组arr,求删除任一元素后, 新数组中长度为k的子数组累加和的最大值. 来自字节. 答案2023-12-16: 来自左程云. 灵捷3.5 大体步骤如下: 算 ...

  2. ClickHouse(19)ClickHouse集成Hive表引擎详细解析

    目录 Hive集成表引擎 创建表 使用示例 如何使用HDFS文件系统的本地缓存 查询 ORC 输入格式的Hive 表 在 Hive 中建表 在 ClickHouse 中建表 查询 Parquest 输 ...

  3. Linux服务器安装好Jenkins,IP+端口无法访问的问题排查

    1.是否已安装jdk,命令:java -version 2.查看Jenkins进程是否还在,命令 ps -ef|grep jenkins 3.查看8080(Jenkins默认)端口号是否开放,命令:f ...

  4. 国家专用加密数据传输之rsa,3des加密方法-rasor3desc

    title: 国家专用加密数据传输之rsa,3des加密方法 date: 2021-12-20 13:08:21.646 updated: 2022-03-10 16:00:58.65 url: ht ...

  5. Python——第二章:字符串操作——索引和切片

    索引: 按照位置提取元素 可以采用索引的方式来提取某一个字符(文字) s = "我叫周杰伦" print(s[3]) #程序员都是从0开始数,这里的3代表第4位,也就是" ...

  6. 珍藏网站-关于路由器、WIFI协议等

    路由器详解:为什么不要买AX3000路由器 https://zhuanlan.zhihu.com/p/403855533 包含以下专业名词和相关话题: RX/TX和MU-MIMO 20MHz/40MH ...

  7. Ubuntu基线指导手册

    Ubuntu基线指导手册 1.   身份鉴别策略组检测 准备: 安装一个PAM模块来启用cracklib支持,这可以提供额外的密码检查功能. 在Debian,Ubuntu或者Linux Mint使用命 ...

  8. C# 多线程 progressbar 界面不卡顿简单用法

    多线程进度条的简单使用,界面不卡顿.如下图: 简单源码如下: using System; using System.Collections.Generic; using System.Componen ...

  9. 基于OpenCV的语音数据读取

      1)进入http://yuyin.baidu.com/app,在弹出的界面中单击要针对哪个应用开通语音识别服务,个人测试可全选 (开通个人认证,白嫖)     注意: 1.百度语音识别API对于要 ...

  10. CUDA C编程权威指南:1.2-CUDA基础知识点梳理

      主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的. 1.闭扫描和开扫描   对于一个二元 ...