好物优选点击查看详情 京东购买

暂无内容

Docker 常用【容器】命令

Centos7 下载|安装|配置|卸载 Docker:https://liush.blog.csdn.net/article/details/129664121

Centos7 常用【基础|镜像】命令:https://liush.blog.csdn.net/article/details/129665015

容器常用命令

docker run IMAGE

新建启动容器

docker ps

查看所有正在运行的容器

exit

停止并退出容器

ctrl + P + Q

不停止退出容器

docker start 容器ID或者容器名

启动容器

docker restart 容器ID或者容器名

重启容器

docker stop 容器ID或者容器名

停止容器

docker kill 容器ID或者容器名

强制停止容器

docker rm 容器ID

删除已停止的容器

docker logs 容器ID

查看容器日志

docker top 容器ID

查看容器内运行的进程

docker exec -it 容器ID /bin/bash

在容器中打开新的终端,并且可以启动新的进程

docker attach 容器ID

直接进入容器启动命令的终端,不会启动新的进程

docker cp 需要拷贝的文件或目录 容器名称:容器目录

拷贝文件到容器指定目录下

docker inspect 容器ID或者容器名

查看容器细节

一、新建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
–name="容器新名字" # 为容器指定一个名称;
-d # 后台运行容器,并返回容器ID,也即启动守护式容器;
-i # 以交互模式运行容器,通常与 -t 同时使用;
-t # 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P # 随机端口映射,并将容器内部使用的网络端口映射到我们使用的主机上;
-p # 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort # 将containerPort映射到主机上的hostPort端口
containerPort

-v 主机目录:容器目录 # 挂载 宿主机的目录挂载到容器的指定目录

1. 新建容器指定一个名称

docker run --name=testname hello-world

Docker 常用【容器】命令插图

2. 交互模式运行容器并分配一个伪输入终端

① 执行后进入到容器内部,只有简单的linux命令可以使用

docker run -it centos /bin/bash

Docker 常用【容器】命令插图1

② 退出并关闭容器

exit

Docker 常用【容器】命令插图2

③ 不关闭并退出容器

ctrl + P + Q

3. 根据容器ID或名字 启动

docker start 容器ID或者容器名

Docker 常用【容器】命令插图3

Docker 常用【容器】命令插图4

4. 根据容器ID或名字 重启

docker restart 容器ID或者容器名

Docker 常用【容器】命令插图5

5. 本地内容拷贝到容器目录下

docker cp 需要拷贝的文件或目录 容器名称:容器目录

Docker 常用【容器】命令插图6

Docker 常用【容器】命令插图7

6. 创建启动容器映射端口号,访问测试

# 配置容器映射到宿主机中的端口号
docker run -d –name 容器名 -p 宿主机端口号:容器内的端口号 镜像名称[:tag]
# 绑定宿主机ip+端口号: 只能通过绑定的ip和端口号 访问容器
docker run -d –name 容器名 -p ip:宿主机端口号:容器内的端口号 镜像名称[:tag]

docker run -d --name mynginx -p 81:80 nginx

Docker 常用【容器】命令插图8

curl http://localhost:81

Docker 常用【容器】命令插图9

Docker 常用【容器】命令插图10

注:如果访问失败,可能是网络问题或者防火墙没关!

配置前docker容器因为需要监听宿主机的端口号,有可能出现ipv4通信失败的问题,解决办法如下:

# 修改配置文件:
vim /usr/lib/sysctl.d/00-system.conf
# 添加内容
net.ipv4.ip_forward=1
# 保存退出 重启网络

systemctl restart network

# 重启容器

docker restart 容器名

7. 创建容器挂载卷(挂载本地文件到容器内)

创建docker容器时,将本地目录挂载到nginx容器指定目录下,将来可以访问nginx中的资源

docker run -d --name=mynginx -p 81:80 -v /opt/html:/opt/ nginx

Docker 常用【容器】命令插图11

cp 拷贝到容器中的文件,容器中的是副本,宿主机和容器互不影响!

挂载后的目录中,宿主机修改后,容器内核宿主机文件一致!

Docker 常用【容器】命令插图12

二、查询容器

docker ps [OPTIONS]
-a # 列出当前所有正在运行的容器+历史上运行过的
-l # 显示最近创建的容器。
-n # 显示最近n个创建的容器。 docker ps -n 3
-q # 静默模式,只显示容器编号。
–no-trunc # 不截断输出。

Docker 常用【容器】命令插图13

三、删除容器

docker rm 容器ID # 删除指定容器
docker rm 容器Name # 根据容器名删除容器

docker rm $(docker ps -a -q) # 删除所有容器,正在运行的容器无法删除
docker rm -f $(docker ps -a -q) # 删除所有容器,包括正在运行的容器
docker ps -a -q | xargs docker rm # 删除所有容器,不包括正在运行的容器

1. 根据容器ID删除

Docker 常用【容器】命令插图14

2. 根据容器名删除

Docker 常用【容器】命令插图15

3. 删除所有容器,包括正在运行的容器

docker rm -f $(docker ps -qa)

Docker 常用【容器】命令插图16

四、守护式容器命令

执行命令 docker run 容器名 创建并启动容器,然后docker ps -a 进行查看, 会发现容器已经退出。

容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。这个是docker的机制问题:容器后台启动后,如果他觉得他没事可做会立即自杀。

1. 台模式启动一个容器用守护式命令

docker run -d --name mynginx nginx 

Docker 常用【容器】命令插图17

2. 创建并启动docker容器 脚本

docker run -d --name=mycentos centos /bin/bash -c "while true;do echo hello zzyy;sleep 2;done"

Docker 常用【容器】命令插图18

五、查看docker容器日志

以后容器创建或者启动失败,可以通过日志分析错误原因!

1. 查看容器所有日志

docker container logs 容器ID

Docker 常用【容器】命令插图19

2. 跟随查看容器日志

docker logs -f -t –tail n 容器ID # 查看容器日志
-t # 是加入时间戳
-f # 跟随最新的日志打印
–tail 数字 # 显示最后多少条

Docker 常用【容器】命令插图20

ctrl+c 可以退出跟随查看

六、重新进入docker

docker exec -it 容器ID或名字 /bin/bash # 在容器中打开新的终端,并且可以启动新的进程

# 打开新的终端进入容器:exit退出容器时,容器不会关闭
docker attach 容器ID # 直接进入容器启动命令的终端,不会启动新的进程

# 直接进入容器使用容器自己的终端:exit退出容器时,容器会关闭
docker exec -it 容器ID ls -l /tmp # 在容器外执行docker内命令

1. 在容器中打开新的终端,并且可以启动新的进程

docker exec -it 容器ID /bin/bash

Docker 常用【容器】命令插图21

Docker 常用【容器】命令插图22

2. 直接进入容器启动命令的终端,不会启动新的进程

docker attach 容器ID

Docker 常用【容器】命令插图23

Docker 常用【容器】命令插图24

原文链接:https://blog.csdn.net/qq_45037155/article/details/129665476?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836840916800197020748%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836840916800197020748&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-9-129665476-null-null.nonecase&utm_term=docker%E3%80%81%E5%A5%BD%E7%94%A8

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享