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镜像加速器
}

 

posted @ 2021-11-10 16:56  局域网外  阅读(100)  评论(0编辑  收藏  举报