Docker 常用命令

1. Docker 的安装(ubuntu)

2. Docker Hub

3. 镜像仓库操作

3.1  docker pull : 从镜像仓库中拉取或者更新指定镜像

pi@raspberrypi:~ $ sudo docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
4471275a8ba0: Pull complete 
5237e132a11f: Pull complete 
130e9bf920a8: Pull complete 
2ec82554e9e7: Pull complete 
014902bb4456: Pull complete 
Digest: sha256:3f119dc0737f57f704ebecac8a6d8477b0f6ca1ca0332c7ee1395ed2c6a82be7
Status: Downloaded newer image for ubuntu:18.04

3.2  docker image ls 列出仓库中所有镜像

pi@raspberrypi:~ $ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 8a3d476a03eb 3 weeks ago 91.8MB
ubuntu 18.04 538d198057ab 3 weeks ago 65.1MB
homeassistant/raspberrypi3-homeassistant 0.72.0 df8da8840c1d 8 weeks ago 1.06GB

4. 容器操作

注意:镜像仓库仅仅是作为image存在,
除了基本的管理以外(images,rmi,tag,build,history,save,import...),不具备运行状态的操作(start,stop,logs,ps,cp...)

4.1 docker run 创建一个新的容器并运行一个命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:

-d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -p: 端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --name="nginx-lb": 为容器指定一个名称;-m :设置容器使用内存最大值;

 比如: sudo docker run -i -t ubuntu:16.04 /bin/bash

pi@raspberrypi:~ $ sudo docker run -i -t ubuntu:16.04 /bin/bash
root@a163d82f7749:/# ls
bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@a163d82f7749:/# cat /proc/version 
Linux version 4.14.52-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1123 SMP Wed Jun 27 17:35:49 BST 2018
pi@raspberrypi:~ $ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
a163d82f7749        ubuntu:16.04        "/bin/bash"         About a minute ago   Up About a minute                       hardcore_poincare

比如: sudo docker run -d -i -t ubuntu:16.04 /bin/bash

pi@raspberrypi:~ $ sudo docker run -d -i -t ubuntu:16.04 /bin/bash
294140c698f82a25586774b8eab28ff762c6de061fba8d64965911554a1399ed
pi@raspberrypi:~ $ 
pi@raspberrypi:~ $ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
294140c698f8        ubuntu:16.04        "/bin/bash"         10 seconds ago      Up 8 seconds                            quizzical_bohr

4.2 docker attach 连接到正在运行中的容器

比如:4.1中使用 docker run -d 进行后台运行的容器(id: 294140c698f8),可以通过 docker attach 连接

pi@raspberrypi:~ $ sudo docker attach 294140c698f8     
root@294140c698f8:/# cat /proc/version 
Linux version 4.14.52-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1123 SMP Wed Jun 27 17:35:49 BST 2018
root@294140c698f8:/# ls
bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

4.3 docker logs 获取容器的日志

OPTIONS说明:

-f : 跟踪日志输出

--since :显示某个开始时间的所有日志

-t : 显示时间戳

比如: sudo docker logs -f 294140c698f8

pi@raspberrypi:~ $ sudo docker logs -f 294140c698f8
root@294140c698f8:/# 
(arg: 4) ^C          
root@294140c698f8:/# cat /proc/version 
Linux version 4.14.52-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1123 SMP Wed Jun 27 17:35:49 BST 2018
root@294140c698f8:/# ls
bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@294140c698f8:/# pwd

4.3 docker rm 删除一个或多少容器

pi@raspberrypi:~ $ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
294140c698f8        ubuntu:16.04        "/bin/bash"         11 minutes ago      Up 11 minutes                           quizzical_bohr
pi@raspberrypi:~ $ sudo docker rm -f 294140c698f8
294140c698f8
pi@raspberrypi:~ $ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

 

posted @ 2018-08-18 17:13  Dream_2017  阅读(254)  评论(0编辑  收藏  举报