docker

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

注意云服务器暴露外网端口,这样才可以访问。


上一篇下一篇

猜你喜欢

热点阅读