docker 常用命令
docker ps #查看当前正在运行的容器
docker ps -a #查看所有容器的状态
docker start/stop id/name #启动/停止某个容器
docker attach id #进入某个容器(使用exit退出后容器也跟着停止运行)
docker exec -ti id #启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)
docker images #查看本地镜像
docker rm id/name #删除某个容器
docker rmi id/name #删除某个镜像
docker run --name test -ti ubuntu /bin/bash #复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash
docker build -t soar/centos:7.1 . #通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像
docker run -d -p 2222:22 --name test soar/centos:7.1 #以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变
docker volume ls #List volumes
docker volume prune #Remove all unused local volumes
docker常用命令
#查看docker版本信息
dokcer version
#查看docker信息
docker info
#启动docker
systemctl start docker
#停止docker服务
systemctl stop docker
#修改etc/docker/daemon.json里的远程仓库后执行下面使之生效
systemctl daemon-reload
systemctl restart docker
运行一个docker hello-world
docker searh hello-world
docker pull hello-world
docker images
docker run hello-world
构建docker iamge
编写Dockerfile
FROM java:8
#WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行。
WORKDIR /
#挂载到/tmp目录,它将一个文件夹从主机文件系统挂载到容器中。容器对挂载文件夹执行的任何修改都将在主机文件系统上持久存在。当容器被替换时,当新容器启动时,文件夹将重新挂载.
VOLUME /tmp
#将当前docker-hello-world-0.0.1-SNAPSHOT.jar 复制到容器根目录下
ADD docker-hello-world-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]
构建image
# . 表示当前目录 -f 参数指定Dockerfile文件 -t 表示 制作的镜像tag "注意后面有个."
# :后面一般表示版本号
docker build -f DockerfileServer -t zhangsike/helloworld-app:1.0.0 .
docker build -t zhansike/web:1.0 .
操作镜像
#在仓库查找docker镜像
docker search <image name>
#从仓库拉取
docker pull <image name>
#查看本地docker镜像
docker images
#删除镜像
docker rmi 镜像id
#强制删除镜像
docker rmi -f 镜像id
#查看docker进程
docker ps -a
#清理dangling images
docker image prune
创建容器
#注意端口号顺序,第一个8080是指在doucker暴露在外部的端口,8080是指docker里面的项目的端口
#-d:让容器在后台启动
docker run -d -p 8080:8080 zhansike/web:1.0
操作容器
#查询容器
docker container ls -a
#启动容器
docker start 容器id
#重启容器
docker restart 容器id
#停止容器
docker stop 容器id
#如果你要删除的 container 还是运行状态,那么就要先把容器停止了:
docker container stop <container ID>
#找到需要删除的容器对应的 container ID 或者名字,进行删除:
docker container stop $(docker container ls -a -q)
#批量删除容器:
docker container rm $(docker container ls -a -q)
#删除单个容器
docker rm 容器id
#查看容器内控制台打印,只读一次
docker logs 容器id
#查看容器内控制台打印监控模式
docker logs -f 容器id
#查看容器端口
docker port 7a38a1ad55c6
#容器重命名
docker rename 旧名 新名字