Skip to content

背景

INFO

最近在mac上重置了一下开发环境,像一些数据库,nginx之前是通过brew install下载安装的,如果你使用命令brew services start nginx启动它会一直在后台运行,如果用docker的话就可以不用brew services了,而且dockernginx配置文件比brewnginx配置文件要简单很多,而且dockernginx配置文件可以很方便的映射到host的某个端口,这样host就可以直接访问nginx了。

总之,也算是另外的一种尝试了吧,就是吧所有的服务分小容器运行起来,然后通过docker-compose来管理这些容器。这样后期管理卸载安装更加方便。

安装docker的话就很简单了,可以直接安装桌面端版本,或者通过命令行安装。点击下载

安装成功之后,可以通过

bash
docker -v // 查看是否安装成功

拉取镜像

镜像的拉取比较简单,只需要通过命令docker pull即可拉取镜像,比如拉取nginx镜像,命令如下:

bash
docker pull nginx
docker pull nginx:1.21.6

查看镜像

拉取镜像之后,就可以通过命令docker images来查看已经拉取的镜像了,比如

bash
docker images


REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mongo        latest    4b372541400c   13 days ago   761MB
nginx        latest    443d199e8bfc   3 weeks ago   193MB
redis        latest    db35fcf47f4b   7 weeks ago   139MB

运行容器

镜像拉取之后,就可以通过命令docker run来运行容器了,比如运行nginx容器,命令如下:

bash
docker run -d -p 80:80 nginx

-d表示后台运行,-p表示映射端口,80:80表示将host80端口映射到nginx80端口,这样host就可以直接访问nginx了。

查看容器

运行容器之后,就可以通过命令docker ps来查看已经运行的容器了,比如

bash
docker ps # 或者 docker container ls -a

CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS                   PORTS                    NAMES
71428fe3e26b   redis     "docker-entrypoint.s…"   50 minutes ago   Up 50 minutes            0.0.0.0:6379->6379/tcp   keen_williams
184730973f68   mongo     "docker-entrypoint.s…"   4 hours ago      Exited (0) 2 hours ago                            cool_shtern
8060b393b482   nginx     "/docker-entrypoint.…"   6 hours ago      Exited (0) 2 hours ago                            suspicious_ishizaka

停止容器

停止容器可以通过命令docker stop来停止容器,比如

bash
# 8060b393b482 就是容器的id 输入前四位即可
docker stop 8060b393b482 # 或者 docker container stop 8060b393b482

停止容器之后,可以通过命令docker ps来查看已经停止的容器了;

删除容器

删除容器可以通过命令docker rm来删除容器,比如

bash
docker rm 8060b393b482 # 或者 docker container rm 8060b393b482

启动容器

启动容器可以通过命令docker start来启动容器,比如

bash
docker start 8060b393b482 # 或者 docker container start 8060b393b482

删除镜像

删除镜像可以通过命令docker rmi来删除镜像,比如

bash
docker rmi nginx:latest # 或者 docker image rm nginx:latest

删除所有容器

删除所有容器可以通过命令docker rm -f $(docker ps -aq)来删除所有容器,比如

bash
docker rm -f $(docker ps -aq) # 或者 docker container rm -f $(docker container ls -aq)

删除所有镜像

删除所有镜像可以通过命令docker rmi -f $(docker images -q)来删除所有镜像,比如

bash
docker rmi -f $(docker images -q) # 或者 docker image rm -f $(docker image ls -q)

删除所有未使用的镜像

删除所有未使用的镜像可以通过命令docker rmi -f $(docker images -f "dangling=true" -q)来删除所有未使用的镜像,比如

bash
docker rmi -f $(docker images -f "dangling=true" -q) # 或者 docker image rm -f $(docker image ls -f "dangling=true" -q)

上面就是对docker的一些常用命令,希望对大家有所帮助。

wangxiaoze | MIT License.