docker的基本操作

1、查看系统(docker)层面信息

 [root@elasticsearch-02 ~]# docker info
 Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
 Images: 1
 Server Version: 1.13.1
 Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
 Logging Driver: journald
 Cgroup Driver: systemd
 Plugins: 
 Volume: local
 Network: bridge host macvlan null overlay
 Swarm: inactive
 Runtimes: docker-runc runc
 Default Runtime: docker-runc
 Init Binary: /usr/libexec/docker/docker-init-current
 containerd version: (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
 runc version: 66aedde759f33c190954815fb765eedc1d782dd9 (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
 init version: fec3683b971d9c3ef73f284f176672c44b448662 (expected: 949e6facb77383876aeff8a6944dde66b3089574)
 Security Options:
 seccomp
 WARNING: You're not using the default seccomp profile
 Profile: /etc/docker/seccomp.json
 selinux
 Kernel Version: 3.10.0-957.el7.x86_64
 Operating System: CentOS Linux 7(Core)
 OSType: linux
 Architecture: x86_64
 Number of Docker Hooks: 3
 CPUs: 2
 Total Memory: 9.607 GiB
 Name: elasticsearch-02
 ID: 7EVF:7RJV:W22Q:V5QV:2H3K:EXMN:C2WD:YV5O:WZBI:5ZL5:RREV:VYJ6
 Docker Root Dir: /var/lib/docker
 Debug Mode (client): false
 Debug Mode (server): false
 Registry: https://index.docker.io/v1/
 WARNING: bridge-nf-call-iptables is disabled
 WARNING: bridge-nf-call-ip6tables is disabled
 Experimental: false
 Insecure Registries:
 127.0.0.0/8
 Live Restore Enabled: false
 Registries: docker.io (secure)

2、查看系统详细信息

 [root@elasticsearch-02 ~]# docker inspect my_container

3、搜索镜像

 [root@elasticsearch-02 ~]# docker search centos
 INDEX       NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
 docker.io   docker.io/centos                             The official build of CentOS.                   5877    [OK]       
 docker.io   docker.io/ansible/centos7-ansible           Ansible on Centos7                              128                [OK]
 docker.io   docker.io/jdeathe/centos-ssh                 OpenSSH / Supervisor / EPEL/IUS/SCL Repos ...   114                [OK]
 docker.io   docker.io/consol/centos-xfce-vnc             Centos container with "headless"VNC sessi...   109                [OK]

4、拉取镜像

 [root@elasticsearch-02 ~]# docker pull centos:latest
 Trying to pull repository docker.io/library/centos ... 
 latest: Pulling from docker.io/library/centos
 8a29a15cefae: Pull complete 
 Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
 Status: Downloaded newer image fordocker.io/centos:latest

5、查看本地镜像

 [root@RedHat_test tmp]# docker images
 REPOSITORY         TAG                 IMAGE ID           CREATED             SIZE
 docker.io/centos   latest             470671670cac        7weeks ago         237MB

6、创建容器

 [root@elasticsearch-02 ~]# docker create centos:latest
 fb0f16442424813ed7b74dfc24151711a89e9a3d71745766c63c4118fbf90771

7、查看所有容器,包括停止的

 [root@elasticsearch-02 ~]# docker ps -a
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES
 fb0f16442424       centos:latest       "/bin/bash"        42seconds ago     Created                                 condescending_cori

8、启动容器

 [root@elasticsearch-02 ~]# docker start fb0f16442424
 fb0f16442424

9、修改镜像的标签

 [root@elasticsearch-02 ~]# docker images
 REPOSITORY         TAG                 IMAGE ID           CREATED             SIZE
 docker.io/centos   latest             470671670cac        7weeks ago         237MB
 [root@elasticsearch-02 ~]# docker tag 470671670cac centos:1
 [root@elasticsearch-02 ~]# docker images
 REPOSITORY         TAG                 IMAGE ID           CREATED             SIZE
 centos              1                  470671670cac        7weeks ago         237MB
 docker.io/centos   latest             470671670cac        7weeks ago         237MB

10、运行容器(必须先启动容器,才可以进入容器)

 [root@elasticsearch-02 ~]# docker run -dit centos:latest 
 2b58cb2416dfd5289650a6566f4c6e51a1e419dba179a47405a8b40a1b023e04
 [root@elasticsearch-02 ~]# docker ps 
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES
 2b58cb2416df       centos:latest       "/bin/bash"        5seconds ago       Up 4seconds                           happy_feynman
 [root@elasticsearch-02 ~]# docker container ls
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES
 2b58cb2416df       centos:latest       "/bin/bash"        17seconds ago     Up 16seconds                           happy_feynman

11、进入容器

1.(如果从这个 stdin 中 exit,会导致容器的停止)
 [root@elasticsearch-02 ~]# docker attach 2b58cb2416df
2.(如果从这个 stdin 中 exit,不会导致容器的停止)
 [root@elasticsearch-02 ~]# docker exec -it 2b58cb2416df bash

12、退出容器

 [root@elasticsearch-02 ~]# docker ps
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES
 2b58cb2416df       centos:latest       "/bin/bash"        8minutes ago       Up 8minutes                           happy_feynman
 [root@elasticsearch-02 ~]# docker stop happy_feynman
 happy_feynman
 [root@elasticsearch-02 ~]# docker ps
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES

13、强制停止容器

 [root@elasticsearch-02 ~]# docker ps
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES
 2b58cb2416df       centos:latest       "/bin/bash"        10minutes ago     Up 4seconds                           happy_feynman
 [root@elasticsearch-02 ~]# docker kill happy_feynman
 happy_feynman

14、从容器中取日志

 [root@elasticsearch-02 ~]# docker ps
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES
 04aa90727f09       centos:latest       "/bin/bash"        38seconds ago     Up 36seconds                           pedantic_fermi
 [root@elasticsearch-02 ~]# docker logs 04aa90727f09

15、显示一个运行的容器里面的进程信息

 [root@elasticsearch-02 ~]# docker ps
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES
 04aa90727f09       centos:latest       "/bin/bash"        38seconds ago     Up 36seconds                           pedantic_fermi
 [root@elasticsearch-02 ~]# docker top 04aa90727f09
 UID                 PID                 PPID               C                   STIME               TTY                 TIME               CMD
 root                31184              31166              0                  17:46               pts/1               00:00:00           /bin/bash

16、删除容器(不能删除一个正在运行的容器)

 [root@elasticsearch-02 ~]# docker ps 
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES
 2b58cb2416df       centos:latest       "/bin/bash"        12minutes ago     Up 3seconds                           happy_feynman
 [root@elasticsearch-02 ~]# docker stop happy_feynman
 happy_feynman
 [root@elasticsearch-02 ~]# docker ps -a
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
 2b58cb2416df       centos:latest       "/bin/bash"        12minutes ago     Exited (0) 9seconds ago                       happy_feynman
 [root@elasticsearch-02 ~]# docker rm 2b58cb2416df
 2b58cb2416df
 [root@elasticsearch-02 ~]# docker ps -a
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES

17、一次性删除所有容器

 [root@elasticsearch-02 ~]# docker rm 'docker ps -a -q'

18、容器的导出

 [root@elasticsearch-02 ~]# docker ps
 CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS               NAMES
 04aa90727f09       centos:latest       "/bin/bash"        20hours ago       Up 20hours                             pedantic_fermi
 [root@elasticsearch-02 ~]# docker export 04aa90727f09 > tomcat8080.tar
 [root@elasticsearch-02 ~]# ls
 tomcat8080.tar

19、容器的导入

 [root@elasticsearch-02 ~]# ls
 tomcat8080.tar 
 [root@elasticsearch-02 ~]# docker import tomcat8080.tar
 sha256:5a7456e811d5fdbb0e4795a4fa2168f526aebe6f716bb5ee6cc2fd1b9699ad4f
 [root@elasticsearch-02 ~]# docker images
 REPOSITORY         TAG                 IMAGE ID           CREATED             SIZE
 <none>             <none>             5a7456e811d5        8seconds ago       0B

20、容器与主机之间的数据拷贝

1.将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下
 [root@RedHat_test tmp]# docker cp /www/runoob 96f7f14e99ab:/www/
2.将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www
 [root@RedHat_test tmp]# docker cp /www/runoob 96f7f14e99ab:/www
3.将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中
 [root@RedHat_test tmp]# docker cp 96f7f14e99ab:/www /tmp/

如果文章有任何错误欢迎不吝赐教,其次大家有任何关于运维的疑难杂问,也欢迎和大家一起交流讨论。关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。群主还经营一家Orchis饰品店,喜欢的小伙伴欢迎????前来下单。

扫描二维码

获取更多精彩

运维猫公众号

有需要技术交流的小伙伴可以加我微信,期待与大家共同成长,本人微信:

扫描二维码

添加私人微信

运维猫博主

扫码加微信

最近有一些星友咨询我知识星球的事,我也想继续在星球上发布更优质的内容供大家学习和探讨。运维猫公众号平台致力于为大家提供免费的学习资源,知识星球主要致力于即将入坑或者已经入坑的运维行业的小伙伴。

点击阅读原文  查看更多精彩内容!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值