Docker 之 容器基本操作

一、查看本地容器进程[root@docker ~]# docker ps -a     #显示所有容器进程CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES9bd32b3b2ad0        hello-world         "/hello"            20 hours ago        Exited (0) 20 hours ago                       lucid_murdockfb2d81c98cd2        hello-world         "/hello"            3 weeks ago         Exited (0) 3 weeks ago                        great_bartik[root@docker ~]# docker ps          #显示当前运行的容器进程CONTAINER ID        IMAGE   二、容器启动命令[root@docker ~]# docker run --helpUsage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]OPTIONS:选项-i : 表示启动一个可交互的容器,并持续打开标准输入-t : 表示使用终端关联到容器的标准输入输出上-d : 表示将容器放置后台运行--rm : 退出后即删除容器--name : 表示定义容器唯一名称IMAGE: 表示要运行的镜像COMMAND : 表示启动容器时运行的命令三、启动一个交互式的容器[root@docker ~]# docker imagesREPOSITORY            TAG                 IMAGE ID            CREATED             SIZEalpine                latest              cc0abc535e36        13 days ago         5.59MBzhoumingkang/alpine   v3.10.3             cc0abc535e36        13 days ago         5.59MBalpine                3.9.4               055936d39205        8 months ago        5.53MBhello-world           latest              fce289e99eb9        12 months ago       1.84kB[root@docker ~]# docker run -ti -- name mingkang-test alpine:latest /bin/sh/ # ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever18: eth0@if19: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP     link/ether 02:42:ac:07:05:02 brd ff:ff:ff:ff:ff:ff    inet 172.7.5.2/24 brd 172.7.5.255 scope global eth0       valid_lft forever preferred_lft forever/ # cat /etc/issue Welcome to Alpine Linux 3.11Kernel \r on an \m (\l)[root@docker ~]# docker ps      #查看当前运行的容器进程CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES08b02f026afe        alpine:latest       "/bin/sh"           7 seconds ago       Up 5 seconds                            mingkang-test四、容器退出后即删除--rm(docker ps -a 查询不了记录)[root@docker ~]# docker run --rm alpine:latest /bin/echo hellohello五、以后台的形式运行一个容器-d[root@docker ~]# docker run -d --name mingkang-test3 alpine:latest /bin/sleep 3000744b31fbaadfc9605d5dbe8d302ef9bd3de8208142aa00c1feffd86804347b01[root@docker ~]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES744b31fbaadf        alpine:latest       "/bin/sleep 3000"   18 seconds ago      Up 17 seconds                           mingkang-test3六、进入一个容器exec[root@docker ~]# docker exec -ti 744b31fbaadf /bin/sh      #长长的字符串为容器ID/ # psPID   USER     TIME  COMMAND    1 root      0:00 /bin/sleep 3000    6 root      0:00 /bin/sh   11 root      0:00 ps/ # 七、停止/重启/启动一个容器(stop/restart/start)[root@docker ~]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES744b31fbaadf        alpine:latest       "/bin/sleep 3000"   3 minutes ago       Up 3 minutes                            mingkang-test3[root@docker ~]# docker stop 744b31fbaadf    #容器的ID号744b31fbaadf[root@docker ~]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES八、删除docker ps 的内容[root@docker ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES744b31fbaadf        alpine:latest       "/bin/sleep 3000"   12 minutes ago      Exited (137) 8 minutes ago                        mingkang-test308b02f026afe        alpine:latest       "/bin/sh"           25 minutes ago      Exited (0) 23 minutes ago                         mingkang-test56760413d596        alpine:latest       "/bin/sh"           28 minutes ago      Exited (0) 27 minutes ago                         mingkang_testeae500caa715        alpine:latest       "/bin/sh"           34 minutes ago      Exited (0) 29 minutes ago                         vigilant_boydc6fed43d8a09        alpine:latest       "/bin/sh"           34 minutes ago      Exited (0) 34 minutes ago                         keen_volhard058aee8ef1eb        alpine:latest       "/bin/sh"           36 minutes ago      Exited (0) 35 minutes ago                         quirky_morse6d81bca654ab        alpine:latest       "/bin/sh"           37 minutes ago      Exited (127) 36 minutes ago                       practical_torvaldsadc1a16a7bf6        alpine:latest       "/bin/sh"           39 minutes ago      Exited (0) 38 minutes ago                         unruffled_carson20a5432e3266        alpine:latest       "/bin/sh"           39 minutes ago      Exited (0) 39 minutes ago                         elated_ellis08bbe9c13d26        alpine:latest       "/bin/sh"           40 minutes ago      Exited (0) 40 minutes ago                         nifty_kalam9bd32b3b2ad0        hello-world         "/hello"            21 hours ago        Exited (0) 21 hours ago                           lucid_murdockfb2d81c98cd2        hello-world         "/hello"            3 weeks ago         Exited (0) 3 weeks ago                            great_bartik[root@docker ~]# docker rm keen_volhard quirky_morse practical_torvalds unruffled_carson elated_ellis  nifty_kalam  lucid_murdock great_bartikkeen_volhardquirky_morsepractical_torvaldsunruffled_carsonelated_ellisnifty_kalamlucid_murdockgreat_bartik[root@docker ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES744b31fbaadf        alpine:latest       "/bin/sleep 3000"   13 minutes ago      Exited (137) 9 minutes ago                       mingkang-test308b02f026afe        alpine:latest       "/bin/sh"           26 minutes ago      Exited (0) 24 minutes ago                        mingkang-test56760413d596        alpine:latest       "/bin/sh"           28 minutes ago      Exited (0) 28 minutes ago                        mingkang_test备注:如需删除在运行的容器,使用docker rm -f 容器名称/容器ID循环全部删除:for i in `docker ps -a | grep -i exited|awk '{print $1}'`;do docker rm -f $i;done九、容器的提交(把已写入内容的容器提交为镜像)[root@docker ~]# docker run -d --name myalpine alpine:latest /bin/sleep 30000   #后台长时间运行一个容器3ccd27be4d19a60f317d187ee99d7fcd76d368dccb0326f8789d6617fb39f457[root@docker ~]# docker ps    #查看运行的容器CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS               NAMES3ccd27be4d19        alpine:latest       "/bin/sleep 30000"   6 seconds ago       Up 4 seconds                            myalpine[root@docker ~]# docker exec -ti myalpine /bin/sh    #以交互的方式进入容器/ # lsbin    dev    etc    home   lib    media  mnt    opt    proc   root   run    sbin   srv    sys    tmp    usr    var/ # touch hello.txt/ # echo "hello world" > hello.txt / # cat hello.txt hello world[root@docker ~]# docker commit -p myalpine myalpine:latest_with_hello.txt#把名称为myalpine的容器提交为一个新的镜像sha256:3ce9b8b899ba2018c01ca88fba6c24da6ff1287905a4ff4c60e968f129a22863[root@docker ~]# docker imagesREPOSITORY            TAG                     IMAGE ID            CREATED             SIZEmyalpine              latest_with_hello.txt   3ce9b8b899ba        20 seconds ago      5.59MBalpine                latest                  cc0abc535e36        13 days ago         5.59MBzhoumingkang/alpine   v3.10.3                 cc0abc535e36        13 days ago         5.59MBalpine                3.9.4                   055936d39205        8 months ago        5.53MBhello-world           latest                  fce289e99eb9        12 months ago       1.84kB#启动该myalpin:latest_with_hello.txt 镜像容器后,发现文件已经存在。十、容器的导出与加载导出myalpine:latest_with_hello.txt-----[root@docker ~]# docker imagesREPOSITORY            TAG                     IMAGE ID            CREATED             SIZEmyalpine              latest_with_hello.txt   3ce9b8b899ba        20 minutes ago      5.59MBalpine                latest                  cc0abc535e36        13 days ago         5.59MBzhoumingkang/alpine   v3.10.3                 cc0abc535e36        13 days ago         5.59MBalpine                3.9.4                   055936d39205        8 months ago        5.53MBhello-world           latest                  fce289e99eb9        12 months ago       1.84kB[root@docker ~]# docker save myalpine:latest_with_hello.txt > myalpine-latest_with_hello.txt.tar[root@docker ~]# lsanaconda-ks.cfg  myalpine-latest_with_hello.txt.tar-----删除刚刚导出的镜像[root@docker ~]# docker rmi myalpine:latest_with_hello.txtUntagged: myalpine:latest_with_hello.txtDeleted: sha256:3ce9b8b899ba2018c01ca88fba6c24da6ff1287905a4ff4c60e968f129a22863Deleted: sha256:1d89a6f64295ef6889fef9ae917281e94d4d9e5c9b3eb98d5cc25c129f34f4b3[root@docker ~]# docker imagesREPOSITORY            TAG                 IMAGE ID            CREATED             SIZEalpine                latest              cc0abc535e36        13 days ago         5.59MBzhoumingkang/alpine   v3.10.3             cc0abc535e36        13 days ago         5.59MBalpine                3.9.4               055936d39205        8 months ago        5.53MBhello-world           latest              fce289e99eb9        12 months ago       1.84kB-----重新加载该镜像[root@docker ~]# docker load < myalpine-latest_with_hello.txt.tar e63a9b4f5484: Loading layer [==================================================>]  3.584kB/3.584kBLoaded image: myalpine:latest_with_hello.txt[root@docker ~]# docker imagesREPOSITORY            TAG                     IMAGE ID            CREATED             SIZEmyalpine              latest_with_hello.txt   3ce9b8b899ba        22 minutes ago      5.59MBalpine                latest                  cc0abc535e36        13 days ago         5.59MBzhoumingkang/alpine   v3.10.3                 cc0abc535e36        13 days ago         5.59MBalpine                3.9.4                   055936d39205        8 months ago        5.53MBhello-world           latest                  fce289e99eb9        12 months ago       1.84kB十一、容器的日志查看[root@docker ~]# docker run hello-world:latest     #运行一个容器Hello from Docker!This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.    (amd64) 3. The Docker daemon created a new container from that image which runs the    executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it    to your terminal.To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID: For more examples and ideas, visit: https://docs.docker.com/get-started/[root@docker ~]# docker ps -a | grep -i hello      #查看曾经运行的进程1c5c26a209d4        hello-world:latest   "/hello"            12 seconds ago      Exited (0) 10 seconds ago

通过CN2线获得云防御平台的抗D保、cdn加速等产品和服务,将确保业务快速、稳定、安全,尤其对于国际性贸易在中国大陆的业务开展有无与伦比的优势。

angry_ellis[root@docker ~]# docker logs 1c5c26a209d4       #查看该容器运行的日志Hello from Docker!This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.    (amd64) 3. The Docker daemon created a new container from that image which runs the    executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it    to your terminal.To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID: For more examples and ideas, visit: https://docs.docker.com/get-started/[root@docker ~]# 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值