备忘录-Docker
背景
最近在mac上重置了一下开发环境,像一些数据库,nginx之前是通过brew install下载安装的,如果你使用命令brew services start nginx启动它会一直在后台运行,如果用docker的话就可以不用brew services了,而且docker的nginx配置文件比brew的nginx配置文件要简单很多,而且docker的nginx配置文件可以很方便的映射到host的某个端口,这样host就可以直接访问nginx了。
总之,也算是另外的一种尝试了吧,就是吧所有的服务分小容器运行起来,然后通过docker-compose来管理这些容器。这样后期管理卸载安装更加方便。
安装docker的话就很简单了,可以直接安装桌面端版本,或者通过命令行安装。点击下载
安装成功之后,可以通过
docker -v // 查看是否安装成功拉取镜像
镜像的拉取比较简单,只需要通过命令docker pull即可拉取镜像,比如拉取nginx镜像,命令如下:
docker pull nginx
docker pull nginx:1.21.6查看镜像
拉取镜像之后,就可以通过命令docker images来查看已经拉取的镜像了,比如
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容器,命令如下:
docker run -d -p 80:80 nginx-d表示后台运行,-p表示映射端口,80:80表示将host的80端口映射到nginx的80端口,这样host就可以直接访问nginx了。
查看容器
运行容器之后,就可以通过命令docker ps来查看已经运行的容器了,比如
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来停止容器,比如
# 8060b393b482 就是容器的id 输入前四位即可
docker stop 8060b393b482 # 或者 docker container stop 8060b393b482停止容器之后,可以通过命令docker ps来查看已经停止的容器了;
删除容器
删除容器可以通过命令docker rm来删除容器,比如
docker rm 8060b393b482 # 或者 docker container rm 8060b393b482启动容器
启动容器可以通过命令docker start来启动容器,比如
docker start 8060b393b482 # 或者 docker container start 8060b393b482删除镜像
删除镜像可以通过命令docker rmi来删除镜像,比如
docker rmi nginx:latest # 或者 docker image rm nginx:latest删除所有容器
删除所有容器可以通过命令docker rm -f $(docker ps -aq)来删除所有容器,比如
docker rm -f $(docker ps -aq) # 或者 docker container rm -f $(docker container ls -aq)删除所有镜像
删除所有镜像可以通过命令docker rmi -f $(docker images -q)来删除所有镜像,比如
docker rmi -f $(docker images -q) # 或者 docker image rm -f $(docker image ls -q)删除所有未使用的镜像
删除所有未使用的镜像可以通过命令docker rmi -f $(docker images -f "dangling=true" -q)来删除所有未使用的镜像,比如
docker rmi -f $(docker images -f "dangling=true" -q) # 或者 docker image rm -f $(docker image ls -f "dangling=true" -q)上面就是对docker的一些常用命令,希望对大家有所帮助。
