docker容器的操做

[root@ken1 ~]# docker container --help
Usage: docker container COMMAND
Manage containers
Commands:
attach   Attach local standard input, output, and error streams to a running container 進入容器,退出時容器會結束
commit   Create a new image from a container's changes 基於容器建立新鏡像
cp      Copy files/folders between a container and the local filesystem 實現了容器和宿主機之間的文件共享
create   Create a new container 建立新的容器
diff     Inspect changes to files or directories on a container's filesystem 查看容器有哪些文件被改變了
exec     Run a command in a running container 執行命令或者進入容器
export    Export a container's filesystem as a tar archive 導出容器的文件至壓縮包import
inspect   Display detailed information on one or more containers 查看容器詳細信息
kill      Kill one or more running containers 強制殺掉容器 kill -9
logs      Fetch the logs of a container 獲取容器日誌
ls       List containers 查看容器
ps     查看運行容器
pause   Pause all processes within one or more containers 暫停容器
port    List port mappings or a specific mapping for the container 查看容器的端口映射信息 
prune   Restart all stopped containers 移除不常使用的容器
rename   Rename a container 容器更名
restart  Restart one or more containers 重啓容器
rm     Remove one or more containers 刪除容器 
run     Run a command in a new container 運行命令。運行容器
start    Start one or more stopped containers 啓動容器
stats    Display a live stream of container(s) resource usage statistics 容器運行狀態
stop     Stop one or more running containers 優雅退出容器 kill -15
top      Display the running processes of a container 查看容器運行狀態
unpause  Unpause all processes within one or more containers 解除暫停
update   Update configuration of one or more containers 更新容器的CPU,內存等信息
wait   Block until one or more containers stop, then print their exit codes 等待容器退出,並打印退出狀態嗎

例子1:建立容器/容許容器

[root@ken1 ~]# docker run -d --name http(容器名) --rm httpd:load(鏡像名:TAG) #注意:容器名字是不能重合的
- name:指定容器名字
- d:表示後臺運行
- rm:容器關閉時自動刪除容器

 

例子2:查看運行的容器

[root@ken1 ~]# docker ps #只能查看正在運行的容器
CONTAINER ID   IMAGE     COMMAND         CREATED       STATUS       PORTS     NAMES
f25c10ca1bdd   httpd   "httpd-foreground"   20 seconds ago   Up 18 seconds     80/tcp   ken
容器標識 鏡像 鏡像內部執行的指令 啓動容器時間 正常運行時間 鏡像暴露的端口 容器名 

[root@ken1 ~]# docker ps -a #查看正在運行以及退出狀態的容器 CONTAINER ID     IMAGE     COMMAND           CREATED     STATUS           PORTS   NAMES d0ec4e0331f7     httpd    "httpd-foreground"   16 seconds ago   Exited (0) 8 seconds ago       ken [root@ken1 ~]# docker ps -aq #只顯示容器id d0ec4e0331f7

  

例子3:停掉容器

[root@ken1 ~]# docker stop ken     #指定容器名或者容器ID
[root@ken1 ~]# docker stop $(docker ps -aq)     #批量停掉容器
[root@ken1 ~]# docker rm -f $(docker ps -aq)     #批量刪除容器

例子4:查看容器詳細信息

[root@ken1 ~]# docker inspect 05a34c46eddf #指定容器名或者容器ID  

例子5:容器運行狀態

[root@ken1 ~]# docker stats 6df99a377bd7 
CONTAINER ID   NAME         CPU %   MEM USAGE / LIMIT     MEM %     NET I/O       BLOCK I/O     PIDS
6df99a377bd7  quizzical_yonath   0.01%   13.31MiB / 100MiB     13.31%     648B / 0B     0B / 0B       82 

例子6:查看容器運行狀態

[root@ken1 ~]# docker top 6df99a377bd7 

例子7:獲取容器日誌

[root@ken1 ~]# docker logs 6df99a377bd7
[root@ken1 ~]# docker logs 6df99a377bd7 -f   #持續刷新容器日誌

例子8:暫停容器

[root@ken1 ~]# docker pause 6df99a377bd7 #暫停容器
6df99a377bd7
[root@ken1 ~]# docker ps CONTAINER ID     IMAGE     COMMAND         CREATED           STATUS         PORTS           NAMES 6df99a377bd7     httpd   "httpd-foreground"   16 minutes ago Up   16 minutes (Paused)     80/tcp         quizzical_yonath

例子9:解除暫停

[root@ken1 ~]# docker unpause 6df99a377bd7

例子10:容器重命名

[root@ken1 ~]# docker rename quizzical_yonath ken
[root@ken1 ~]# docker ps
CONTAINER ID   IMAGE       COMMAND         CREATED         STATUS       PORTS   NAMES
6df99a377bd7   httpd     "httpd-foreground"   18 minutes ago Up   18 minutes     80/tcp   ken

例子11:查看容器端口映射信息

[root@ken1 ~]# docker port 0192e3d550d27e  

例子12:進入容器

[root@ken1 ~]# docker exec -it 0192e3d550d2 /bin/sh 或 /bin/bash 

例子13:在容器外執行命令

[root@ken1 ~]# docker exec 0192e3d550d2 ls

  

例子14:複製宿主機文件至容器

[root@ken1 ~]# docker cp docker-speed.sh 0192e3d550d2:/usr/local/apache2/htdocs

複製容器內的文件至宿主機
[root@ken1 ~]# docker cp 0192e3d550d2:/usr/local/apache2/htdocs/index.html .  

例子15:查看容器內那些文件被改變了

[root@ken1 ~]# docker diff 0192e3d550d2
C /usr
C /usr/local
C /usr/local/apache2
C /usr/local/apache2/htdocs
A /usr/local/apache2/htdocs/docker-speed.sh

相關文章
相關標籤/搜索