docker命令
2022-07-26 本文已影响0人
sunpy
镜像命令
1. 列出本机的镜像
docker images
REPOSITORY: 表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
2. 搜索镜像
# 查找镜像
docker search mysql
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。
3. 下载镜像
# 下载镜像
docker pull mysql
# 指定版本下载[root@kuangshen ~]
docker pull mysql:5.7
#运行镜像生成容器
docker run mysql
4. 删除镜像
# 删除镜像
docker rmi hello-world
docker之容器命令
有镜像才能创建容器,下载镜像:
docker pull centos
1. 新建启动容器
# 使用centos进行用交互模式启动容器,在容器内执行/bin/bash命令
docker run -it centos /bin/bash
2. 列出所有的容器
# 命令
docker ps [OPTIONS]
# 常用参数说明
-a # 列出当前所有正在运行的容器 + 历史运行过的容器
-l # 显示最近创建的容器
-n=? # 显示最近n个创建的容器
-q # 静默模式,只显示容器编号。
3. 退出容器
exit
4. 启动停止容器
docker start (容器id or 容器名) # 启动容器
docker restart (容器id or 容器名) # 重启容器
docker stop (容器id or 容器名) # 停止容器
docker kill (容器id or 容器名) # 强制停止容器
5. 删除容器
docker rm 容器id # 删除指定容器
docker rm -f $(docker ps -a -q) # 删除所有容器
docker ps -a -q|xargs docker rm # 删除所有容器
6. 后台启动容器
# 命令
docker run -d 容器名 /bin/bash
# 例子
docker run -d centos # 启动centos,使用后台方式启动
# 问题: 使用docker ps 查看,发现容器已经退出了!
# 解释:Docker容器后台运行,就必须有一个前台进程,容器运行的命令如果不是那些一直挂起的命令,就会自动退出。
# 比如,你运行了nginx服务,但是docker前台没有运行应用,这种情况下,容器启动后,会立即自杀,因为他觉得没有程序了,所以最好的情况是,将你的应用使用前台进程的方式运行启动。
-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
7. 查看日志
# 命令
docker logs -f -t --tail 容器id
8. 查看容器中运行的进程信息,支持 ps 命令参数。
# 命令
docker top 容器id
9. 查看容器/镜像的元数据
# 命令
docker inspect 容器id
10. 进入正在运行的容器
# 命令1
docker exec -it 容器id bashShell
# docker exec -it c8530dbbe3b4 /bin/bash
11. 从容器内拷贝文件到主机上
docker cp c8530dbbe3b4:/home/f1 /home
docker安装nginx
搜索镜像
docker search nginx
下载镜像
docker pull nginx
查看镜像
docker images
启动容器
docker run -d --name mynginx -p 3500:80 nginx
-d #后台运行容器,并返回容器ID,也即启动守护式容器
--name #创建容器名称
-p #指定端口映射,有以下四种格式
#ip:hostPort:containerPort
#ip::containerPort
#hostPort:containerPort
#containerPort
-P: #随机端口映射
查看运行的容器实例
docker ps -a
测试访问:
curl localhost:3500
进入容器:
# bin/bash的作用是表示载入容器后运行bash
# docker中必须要保持一个进程的运行,
# 要不然整个容器启动后就会马上kill itself,这个/bin/bash就表示启动容器后启动bash。
docker exec -it mynginx /bin/bash
查找nginx位置:
whereis nginx # 寻找nginx
# nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
cd /usr/share/nginx # nginx 的路径
退出容器
exit
注意云服务器暴露外网端口,这样才可以访问。