1. 镜像命令
1.1 查看本地镜像
1.1.1 docker images
1.1.2 docker image ls
1.2 下载镜像
docker pull 名字
1.3 删除镜像
1.4 搜索镜像
1.4.1 docker search 名字
参数--filter
-
利用:如下显示stars不低于100的镜像
docker search centos --filter=stars=100
1.5 构建镜像
1.5.1 根据运行中的容器生成新的镜像
-
原理:是将容器运行时的读写层变为只读层,作为镜像的一个新层
-
使用过程:
-
通过已经镜像运行容器,进入容器内
docker run -it --name mycentos8 centos:centos8 /bin/bash
-
进入容器修改相关内容,比如添加某个软件或者某个功能
-
通过docker commit提交修改生成镜像
docker commit -m "Add openssh server" -a "hwadee" -c "EXPOSE 22" --change='CMD ["/sbin/sshd","-D"]' 3ce01aadf05e centos8:ssh
- -m: 提交的描述信息
- -a: 指定镜像作者
- e218edb10161:容器 ID
- runoob/ubuntu:v2: 指定要创建的目标镜像名
-
使用新镜像生成容器或测试
docker run -itd -p 2222:22 centos8:ssh
-
将新镜像push到容器仓库
-
-
缺点:制作的透明性较差,如果多次修改可能会分层较多导致镜像臃肿,
体积较大,影响运行效率。一般不推荐使用。
1.5.2 通过Dockerfile来制作镜像
详细链接:https://www.jianshu.com/p/eb4064392b3e
2. 容器命令
2.1 查看容器:docker ps
默认是查看运行中的容器
-
-a:查看所有状态的容器
docker ps -a
-
-q:只查看容器的ID
docker ps -q
2.2 运行容器:docker run
命令格式
docker run -参数 镜像名:tag 命令
如果镜像名是唯一的,不指定tag也可以
-
如下是使用ubuntu镜像启动容器,并且进入交互式界面
docker run -it ubuntu /bin/bash
- -i:交互式操作
- -t:终端
-
如下是在上述的基础上后台运行容器
docker run -itd ubuntu /bin/bash
- -d:Run container in background and print container ID
2.3 停止容器:docker stop
-
使用:
docker stop 容器ID
2.4 重启容器:docker restart
-
使用:
docker restart 容器ID
2.5 进入容器
2.5.1 docker attach
-
使用:
docker attach 容器ID
-
缺点:如果从这个容器退出,会导致容器的停止
2.5.2 docker exec
-
命令格式:
docker exec -it 容器ID /bin/bash
2.6 导出容器:docker export
-
使用:
docker export 容器ID > xxx.tar
2.7 导入容器:docker import
-
使用:
cat docker/xxx.tar | docker import - xxx:v1
此外,也可以通过指定的URL来导入
docker import http://example.com/exampleimage.tgz example/imagerepo
-
然后进行拷贝 ,注意:执行docker命令时一定要退出容器,否则报错
从容器中拷出来是一样的,docker cp 后面的位置调换一下即可
// docker cp 本地路径 容器长ID:容器路径
//Docker CP local path container long ID: container path
docker cp /usr/local/test.txt 38ef22f922704b32cf2650407e16b146bf61c221e6b8ef679989486d6ad9e856:/usr/local/tomcat/webapps test.txt
docker cp /usr/local/test.txt 38ef22f922704b32cf2650407e16b146bf61c221e6b8ef679989486d6ad9e856:/usr/local/tomcat/webapps test.txt
2.8 查看容器端口情况
-
使用:
docker port 容器ID
3.容器内命令
3.1 查看容器内web日志
-
使用:
docker logs -f 容器ID
3.2 查看容器内部运行的进程
-
使用:
docker top 容器ID
3.3 查看Docker的底层信息
-
使用:
docker inspect 容器ID