Docker基礎指令_docker

一、 镜像类指令:

1. 查询镜像

[root@localhost ~]# docker search nginx
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                              Official build of Nginx.                        13423               [OK]                
jwilder/nginx-proxy                Automated Nginx reverse proxy for docker con…   1832                                    [OK]
richarvey/nginx-php-fpm            Container running Nginx + PHP-FPM capable of…   780                                     [OK]
linuxserver/nginx                  An Nginx container, brought to you by LinuxS…   118                                     
...省略

2. 下载镜像到本地

[root@localhost ~]# docker pull busybox  #没指明标签就是下载latest
Using default tag: latest
latest: Pulling from library/busybox
91f30d776fb2: Pull complete 
Digest: sha256:9ddee63a712cea977267342e8750ecbc60d3aab25f04ceacfa795e6fce341793
Status: Downloaded newer image for busybox:latest
docker.io/library/busybox:latest

3. 查看本地当前已有镜像

[root@localhost ~]# docker image ls  #也可以使用docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              c7c37e472d31        5 days ago          1.22MB

4. 显示本地当前已有镜像IMAGE ID的全名

[root@localhost ~]# docker image ls --no-trunc  #也可以使用docker images --no-trunc
REPOSITORY          TAG                 IMAGE ID                                                                  CREATED             SIZE
busybox             latest              sha256:c7c37e472d31c1685b48f7004fd6a64361c95965587a951692c5f298c6685998   5 days ago          1.22MB

5. 查看基于此镜像制作容器启动时默认运行的命令

Docker基礎指令_docker_02

6. 删除镜像

[root@localhost ~]# docker image rm busybox  #也可以使用docker rmi busybox

Untagged: busybox:latest

Untagged: busybox@sha256:9ddee63a712cea977267342e8750ecbc60d3aab25f04ceacfa795e6fce341793

Deleted: sha256:c7c37e472d31c1685b48f7004fd6a64361c95965587a951692c5f298c6685998

Deleted: sha256:50761fe126b6e4d90fa0b7a6e195f6030fe250c016c2fc860ac40f2e8d2f2615

[root@localhost ~]# docker image ls

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE


二、 容器类指令

1. 创建容器并运行进入交互模式

[root@localhost ~]# docker container run --name b1 -it busybox  #也可以使用docker run --name b1 -it busybox
WARNING: IPv4 forwarding is disabled. Networking will not work.
/ #

2. 查看当前运行的容器

[root@localhost ~]# docker container ls  #也可以使用docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
0ff1821efedd        busybox             "sh"                About a minute ago   Up About a minute                       b1

3. 查看没有在运行的容器

[root@localhost ~]# docker container run --name b1 -it busybox
WARNING: IPv4 forwarding is disabled. Networking will not work.
/ # exit  #退出容器,容器运行就停止了
[root@localhost ~]# docker container ls -a  #要加-a才可以看到没有运行的容器;也可以使用docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
0ff1821efedd        busybox             "sh"                2 minutes ago       Exited (0) 6 seconds ago                       b1

4. 启动容器并进入交互模式

[root@localhost ~]# docker container start -ia b1  #这里要注意,加-ia是启动容器并执行创建时的指令,所以如果创建时没加-it,则这里不会进交互模式
/ #

5. 创建容器运行在后台,并运行httpd

[root@localhost ~]# docker container run --name b2 -d busybox httpd -f  #-d表是容器运行在后台;httpd必须加-f表示httpd运行在前台,否则容器会认为没有运行进程
WARNING: IPv4 forwarding is disabled. Networking will not work.
eac9f80ff2f54a691913d82f11723e34cc05bcbc03d2c3bbce92c90eeb59e5bc
[root@localhost ~]# docker container ls  #没有加-a表示只看的到运行中的容器 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
eac9f80ff2f5        busybox             "httpd -f"          3 seconds ago       Up 3 seconds                            b2

6. 绕过容器边界,让容器进入交互模式

[root@localhost ~]# docker container exec -it b2 /bin/sh
/ #

6. 停止容器

[root@localhost ~]# docker container stop b2 #也可以使用docker container kill b2,这样是强制停止,尽量不要使用强制停止,否则可能会有资料的遗失
b2
[root@localhost ~]# docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES
eac9f80ff2f5        busybox             "httpd -f"          5 minutes ago       Exited (137) 5 seconds ago                        b2
0ff1821efedd        busybox             "sh"                20 minutes ago      Exited (137) 26 seconds ago                       b1

7. 删除容器

[root@localhost ~]# docker container rm b1 b2
b1
b2
[root@localhost ~]# docker container ls -a   
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES