查看详细信息
docker info
查看版本
docker ‐‐version/version(c/s server:docker engine架构)
启动、停止、重启
systemctl start/stop/restart docker
开机启动
systemctl enable docker
查看运行状态
sytemctl status docker
拉取镜像
docker pull 镜像名称[:version]
删除镜像
docker rmi 镜像名称/id
删除多个镜像
docker rmi 镜像名称1/id1 镜像名称2/id2 ...
删除所有镜像
docker rmi $(docker images -q)
删除所有停止的容器
docker rm $(docker ps -a -q)
创建容器
docker run [options] image command [ARG...]
options选项: ‐i、‐t、‐d、‐‐name
‐i:交互式容器
‐t:tty,终端
‐d:后台运行,并且打印容器id
–privileged=true root权限
–name=name 定义名字
-p 8888:8080 映射端口
eg:docker run -itd --name=自己起个名字 --privileged=true 镜像:版本 /bin/bash
进入容器
docker attach 容器名称/id (ps:exit,容器停止)
docker exec ‐it 容器名称/id /bin/bash (ps:exit,容器不会停止)
查看容器
docker ps(查看正在运行的容器)
docker ps ‐a(查看运行过的容器(历史))
docker ps ‐l(后一次运行的容器)
停止启动容器
docker start 容器名称/id docker stop 容器名称/id
查看容器日志
docker logs 容器名称
日志目录 /var/lib/docker/containers
查看指定日期:
docker logs -t --since="2019-11-27T00:00:00" --until "2019-11-27T23:59:59" 容器名称
指定条数
docker logs -f --tail 20 6e9131ee7754
删除容器
删除一个容器:
docker rm 容器名称/id
删除多个容器:
docker rm 容器名称1/id1 容器名称2/id2 ...
删除所有容器
docker rm $(docker ps -a -q)
PS:无法删除正在运行的容器
文件拷贝
将文件拷贝到容器内
docker cp 需要拷贝的文件或目录 容器名称:容器目录 例如:
docker cp 1.txt c2:/root
将文件从容器内拷贝出来
docker cp 容器名称:容器目录 需要拷贝的文件或目录 例如:
docker cp c2:/root/2.txt /roo
目录挂载
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可 以通过修改宿主机某个目录的文件从而去影响容器。
创建容器 添加-v参数 后边为 宿主机目录:容器目录
docker run ‐id ‐‐name=c4 ‐v /opt/:/usr/local/myhtml centos
如果你共享的是多级的目录,可能会出现权限不足的提示
这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 -privileged=true 来解决挂载的目录没有权限的问题
docker run ‐id ‐‐privileged=true ‐‐name=c4 ‐v /opt/:/usr/local/myhtml centos
将正在运行的容器提交为一个镜像
docker commit 容器id 新的镜像名称
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
镜像打包
docker save ‐o /root/tomcat7.tar mytomcat
导入镜像
docker load ‐i /root/tomcat7.tar
容器打包
docker export -o /root/wgs.tar container_name
导入容器
docker import t1.tar mytomcat:latest
配置加速
vim /etc/docker/daemon.json
{
“registry-mirrors”: [“https://0x3p2nkn.mirror.aliyuncs.com”]
}
systemctl daemon-reload
systemctl restart docker
执行dockerfile
docker build -t viewer:v1.0 .
dockerfile
FROM java:8
VOLUME /tmp
ADD api-1.0.jar app.jar
RUN bash -c ‘touch /app.jar’
ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]