docker常用命令
重启docker
systemctl restart docker
操作镜像
docker images
docker rmi “镜像ID”
docker images -a
docker system df
操作容器
docker ps
docker ps -a
- 新建容器 这里以tomcat为例 (-p 宿主机端口:容器端口)(–name “别名”)(-d :后台运行)
docker run -p 8080:8080 --name mytomcat -d tomcat
docker rm $(docker ps -a -q)
docker stop $(docker ps -a -q)
docker stop “容器ID”
docker start “容器ID”
docker rm "容器ID"
docker rm -f
docker exec -it "容器ID" /bin/bash
创建数据卷
vi dockerfile
- 编写Dockerfile
1.数据卷名字必须为:Dockerfile(否则构建镜像时会报错)
FROM "要继承的镜像"
COPY “要传输的文件” “传入到镜像中的位置”
- docker build : 构建镜像
- 下面命令中的 “.” 为当前目录,意思是基于当前目录的dockerfile构建镜像
- 自己起名字的镜像不能有大写字母
- 构建镜像时,实际上是把当前目录的文件打包到镜像的目录中进行构建
docker build -t "自己起的镜像名字" .
- DockerFile 指令
- FROM :继承一个镜像
- RUN : 运行命令
- COPY :复制一个文件到指定目录
- ADD : 与COPY类似,但是比COPY高级,不推荐使用。(自带解压功能)
- CMD :用来输入shell脚本 (只能用一次)
- ENTRYPOINT : CMD的升级版 (只能用一次)
- ENV : 环境变量
- VOLUME:数据卷
- EXPOSE:暴露端口
- WORKDIR :类似于“Cd”命令 指定文件初始命令
MySql 容器启动:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag