docker 常用命令

admin
2024-03-08 / 0 评论 / 192 阅读 / 正在检测是否收录...

docker 基础命令语法

2.1 docker 用法

docker {子命令} [OPTIONS] COMMAND

2. 关于镜像的命令

2.2.1 垃取镜像

命令:pull

语法: docker pull [镜像]

示例:centos

docker  pull centos

2.2.2 查找可用的镜像

[root@ansible-controller ~]# docker search  ubuntu

2.2.3 列出本地镜像

[root@ansible-controller ~]# docker image list 
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d2c94e258dcb   9 months ago   13.3kB
centos        latest    5d0da3dc9764   2 years ago    231MB

[root@ansible-controller ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d2c94e258dcb   9 months ago   13.3kB
centos        latest    5d0da3dc9764   2 years ago    231MB

2.2.4 删除本地镜像
rmi --rm image

[root@ansible-controller ~]# docker rmi 5d0da3dc9764
Untagged: centos:latest
Untagged: centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Deleted: sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6
Deleted: sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59

3. 创建/管理container

3.1 创建一个container

语法:

Usage:  docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
[root@ansible-controller ~]# docker create  --name web-nginx  nginx:latest
dd8560bc86b20e4ac032dacf0a14ec01597336e86990979d3395b01b3993b8f7\

[options]
--name  #容器的名称

3.2 运行一个container

语法:

Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

示例:

[root@ansible-controller ~]# docker run  e4720093a3c1
[root@ansible-controller ~]# docker run -P nginx:latest
[root@ansible-controller ~]# docker run  -p 80:80  e4720093a3c1
[root@ansible-controller ~]# docker   run  --name nginx_test  -p 80:80  -d  nginx:latest
[root@ansible-controller ~]# docker  run -it  --name  my_cnetos --rm 5d0da3dc9764  #测试使用,及时销毁

选项:

--name
-p 
-P 
-d  #在后台运行容器并打印容器 ID
-i  #即使未连接,也要保持 STDIN 打开
-t  TTY  #分配一个伪6终端

3.3 停止一个container

[root@ansible-controller ~]# docker ps 
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                               NAMES
11064c8e0064   5d0da3dc9764   "/bin/bash"              11 minutes ago   Up 11 minutes                                       my-centos
9a23b9ebcb9e   nginx:latest   "/docker-entrypoint.…"   33 minutes ago   Up 33 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx_test
[root@ansible-controller ~]# docker stop  nginx_test
nginx_test
[root@ansible-controller ~]# docker ps 
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS          PORTS     NAMES
11064c8e0064   5d0da3dc9764   "/bin/bash"   14 minutes ago   Up 14 minutes             my-centos

3.4 重启一个container

[root@ansible-controller ~]# docker restart  nginx_test
nginx_test

3.5 列出容器

# 只列出正在运行container
[root@ansible-controller ~]# docker container list 
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
#列出所有的container (正在运行、以退出)
[root@ansible-controller ~]# docker container list  --all
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                      PORTS     NAMES
dd8560bc86b2   nginx:latest   "/docker-entrypoint.…"   2 minutes ago    Created                               web-nginx
568d91fc0590   hello-world    "/hello"                 30 minutes ago   Exited (0) 30 minutes ago             goofy_ritchie
[root@ansible-controller ~]# 

[root@ansible-controller ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@ansible-controller ~]# docker ps  -a
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                      PORTS     NAMES
dd8560bc86b2   nginx:latest   "/docker-entrypoint.…"   4 minutes ago    Created                               web-nginx
568d91fc0590   hello-world    "/hello"                 33 minutes ago   Exited (0) 33 minutes ago             goofy_ritchie
[root@ansible-controller ~]# 

3.6 获取容器详细信息

用法:

docker inspect {容器名称/容器的ID}
[root@ansible-controller ~]# docker inspect 10e8bfa05b00

3.7 进入容器

[root@ansible-controller ~]# docker  exec  -it 9a23b9ebcb9e  /bin/bash

3.8 删除container

[root@ansible-controller ~]# docker  rm  web-nginx
web-nginx

3.9 获取容器日志

[root@ansible-controller ~]# docker logs -f  nginx_test

3.10 拷贝

语法:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

示例1:

[root@ansible-controller docker_nginx]# docker cp  af8d6a0271fe:/etc/nginx  .

八、数据持久化 volume

  1. 保证数据安全
  2. 数据一致性
  3. 修改配置文件
[root@ansible-controller html]# docker run   --name nginx_volume -itd -p 81:80 -v /opt/docker_nginx/html/:/usr/share/nginx/html/  -4720093a3c1


[root@ansible-controller docker_nginx]# docker  run  -itd  -P --name nginx_test_v1  -v  /opt/docker_nginx/nginx:/etc/nginx/ -v  /opt/docker_nginx/html/:/usr/share/nginx/ nginx:latest
0

评论 (0)

取消