Docker基础操作
使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
运行镜像 docker run 容器id
docker start 容器名称
查看下载到本地的镜像 docker images
[root@openvas ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE securecompliance/gvm latest ed6308f4227f 3 months ago 486MB
查看正在运行的镜像(查询历史运行过的容器需要加 -a 参数)
[root@openvas ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 351e9e9025d3 securecompliance/gvm "/entrypoint.sh /usr…" 16 hours ago Up 59 minutes 22/tcp, 5432/tcp, 8081/tcp, 0.0.0.0:9390->9392/tcp, :::9390->9392/tcp gvm1
更改容器名称
docker run -d --name=gvm securecompliance/gvm
停止正在运行的容器
docker stop securecompliance/gvm
直接关闭容器
docker kill (容器id)
删除镜像
docker rmi 9d723571f0d3(镜像id)
删除容器
docker rm (容器id)
配置镜像自动启动
docker update (容器id) --restart=always
进入容器bash
docker exec -it (容器id) bash
拷贝容器内的文件到实体机(在容器stop状态也可操作)
[root@vm7 soft]# docker cp 224914a80025:/home/java.txt /root/soft #将容器224914a80025中的java.txt文件拷贝到实体机 /root/soft/ 目录
[root@vm7 soft]# ls gvm.tar inotify-tools-3.20.2.2 java.txt
查看已下载的Docker镜像latest具体版本
[root@vm7 ~]# docker image inspect (镜像id)|grep version "org.opencontainers.image.version": "21.4.3-v1"
或者
[root@vm7 ~]# docker image inspect (镜像名):latest|grep version "org.opencontainers.image.version": "21.4.3-v1"
docker其他参数
port # 查看映射端口对应的容器内部源端口 pause # 暂停容器 ps # 猎户容器列表 pull # 从docker镜像源服务器拉取指定镜像或者库镜像 push # 推送指定镜像或者库镜像至docker源服务器 restart # 重启运行的容器 rm # 移除一个或多个容器 rmi # 移除一个或多个镜像 (无容器使用该镜像才可删除,否则需要删除相关容器才可继续或 -f 强制删除) run # 创建一个新的容器并运行一个命令 save # 保存一个镜像为一个 tar 包【对应 load】 search # 在 docker hub 中搜索镜像 start # 启动容器 stop # 停止容器 tag # 给源中镜像打标签 top # 查看容器中运行的进程信息 unpause # 取消暂停容器 version # 查看 docker版本号 wait # 截取容器停止时的退出状态值
特权模式运行容器
docker run -itd --privileged=true --name 容器名 镜像名 /usr/sbin/init
二、容器数据卷
1)直接使用命令来挂载 -v
[root@vm7 ~]# docker run -it -v /mnt/centos7:/home eeb6ee3f44bd /bin/bash #将容器eeb6ee3f44bd的home目录挂载到 linux主机的/mnt/centos7目录下
[root@vm7 centos7]# docker inspect 887e804727a1 "Mounts": [ { "Type": "bind", "Source": "/mnt/centos7", "Destination": "/home", "Mode": "", "RW": true, "Propagation": "rprivate" } ],
只读,读写挂载
[root@vm7 ~]# docker run -it -v /mnt/centos7:/home:ro eeb6ee3f44bd /bin/bash #将容器eeb6ee3f44bd的home目录挂载到 linux主机的/mnt/centos7目录下(只读)
[root@vm7 ~]# docker run -it -v /mnt/centos7:/home:rw eeb6ee3f44bd /bin/bash #将容器eeb6ee3f44bd的home目录挂载到 linux主机的/mnt/centos7目录下(读写)
新版docker数据目录更改
vi /etc/docker/daemon.json
{ "log-level": "warn", "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "5" }, "data-root":"/mnt/docker" #更改此目录位置 } { "registry-mirrors": ["https://24bksflp.mirror.aliyuncs.com"] #配置docker镜像加速器 }