Docker基础命令以及配置nginx

179 阅读2分钟

前言

老生常谈的介绍直接看链接,结构看下图

英文官网:docs.docker.com/get-started…

中文翻译:dockertips.readthedocs.io/en/latest/d…

docker-architecture.webp

基础命令

搜索镜像

hub.docker.com/search?q=

docker search nginx

查看所有镜像

docker images  
docker images -a

镜像拉取

docker pull [name] // 默认拉取最新版本,也可以手动指定版本,如:docker pull nginx:1.20.1

删除镜像

docker rmi redis // 删除某个
docker rmi $(docker images -q) // 删除所有镜像,不删除容器

重启镜像

docker restart [name/id]

启动所有容器

 docker start $(docker ps -a -q)

列出运行中容器

docker ps // 查看运行中的容器
docker ps -a // 查询所有容器
docker ps -a | grep [name] // 根据名称查询容器

复制nginx容器文件到宿主机

docker cp nginx:/etc/nginx/nginx.conf /Users/c005/Desktop/JayShen/docker/nginx
docker cp nginx:/etc/nginx/conf.d /Users/c005/Desktop/JayShen/docker/nginx
docker cp nginx:/usr/share/nginx/html /Users/c005/Desktop/JayShen/docker/nginx
docker cp nginx:/var/log/nginx/ /Users/c005/Desktop/JayShen/docker/nginx/log 

nginx容器中目录介绍:

文件描述
/etc/nginx/nginx.conf  配置文件
/etc/nginx/conf.d配置文件夹
/usr/share/nginx/html/静态资源目录
/var/log/nginx/日志目录
/usr/sbin/nginx主程序

启动容器

// 单行命令
docker run -d --name nginx-test -p 9000:80 nginx

// 多行命令,并挂载文件(形成关联映射只要我们改动本地的配置文件就会自动映射到nginx容器,极其方便)
docker run \
-p 9000:80 \
--name nginx \
-v /Users/c005/Desktop/JayShen/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /Users/c005/Desktop/JayShen/docker/nginx/conf.d:/etc/nginx/conf.d \
-v /Users/c005/Desktop/JayShen/docker/nginx/log:/var/log/nginx \
-v /Users/c005/Desktop/JayShen/docker/nginx/html:/usr/share/nginx/html \
-d nginx
命令描述
-d指定容器以守护进程方式在后台运行
--namenginx-test表示为当前容器起一个别名
-p表示将本机的9000端口映射到nginx镜像的80端口
nginx镜像REPOSITORY,或者可以使用IMAGE ID,可通过命令docker images查询到镜像信息,然后找到镜像的REPOSITORY标识或IMAGE ID标识即可,我这里以nginx举例
-v挂载文件 [宿主机文件路径]:[容器内文件路径]
-e设置时区
--restart=alwaysdocker启动时自动启动容器
--privileged=true打开root权限
\换行

成功后如下: image.png

image.png

进入容器

docker exec -it [name or id] /bin/bash  
命令描述
-i以交互模式运行容器,通常与 -t 同时使用;例如-it
-t为容器重新分配一个伪输入终端,通常与 -i 同时使用;例如-it
/bin/bash其实就是表示载入容器后运行bash(命令语言解释程序), 因为docker中必须要保持一个进程(运行的程序)的运行,要不然整个容器就会退出,所以说,bash就担任起了docker中运行的那个进程的角色!而/bin/bash则是bash在linux下的位置

退出容器

exit  

停止容器

docker stop [name]  

删除容器

docker rm [name]  

删除正在运行的容器

docker rm -f [name]