Docker 的基本使用

2022/01/10 Docker 共 1517 字,约 5 分钟
漆黑之牙

Docker

docker访问宿主机 172.17.0.1

镜像

  1. 拉取镜像 docker pull centos:7
  2. 查看镜像 docker images
  3. 删除镜像 docker rmi 镜像ID
  4. 搜索镜像 docker search java

容器 1、运行容器 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -it --name wzg_pc -d -p 3000:3000 centos:7 /bin/bash

  • -i 打开一个标准的输入接口
  • -t 创建一个伪 tty 终端 连接容器的标准输入接口,之后用户就可以通过终端进行输入
  • –name 容器名字
  • -p 端口
  • 默认[COMMAND] /bin/bash
  • -d 是保证容器在后台运行
  • -v /usr/local/gitlab-test/etc:/etc/gitlab 将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
  • –restart always 容器自启动
  • –privileged=true 让容器获取宿主机root权限

    1. 查看运行的容器docker ps
    2. 查看所有的容器docker ps -a
    3. 重新进入容器docker exec -it container-name /bin/bash
    4. 开始,重启,停止容器docker start/restart/stop <容器 ID>
    5. 终止容器docker stop 3b395bf32944
    6. 删除容器docker rm 3b395bf32944

容器与镜像转化
导出容器 为tar文件 1docker export 369a5a55edc2 > yjtemplate.tar 加载tar文件:类似镜像 docker import yjtemplate.tar

docker的根目录 docker info docker info|grep "Docker Root Dir"

宿主机容器文件拷贝
docker cp container_id:<docker容器内的路径> <本地保存文件的路径>
docker cp 本地文件的路径 container_id:<docker容器内的路径>

修改port

docker run -it --privileged --pid=host justincormack/nsenter1
cd /var/lib/docker/containers && ls
vi config.v2.json
"ExposedPorts":{"80/tcp":{},"7890/tcp":{}}
vi hostconfig.json
"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"8080"}]}

添加修改挂载地址
1.hostconfig.json 挂在会删除docker容器中的文件!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 记得备份
cp -r 文件夹 some.bac 2.vi config.v2.json

{
  "/java": {
    "Source": "/home/wengyuanjia/wzg", #容器路径
    "Destination": "/java",
    "RW": true,
    "Name": "",
    "Driver": "",
    "Type": "bind",
    "Propagation": "rprivate",
    "Spec": {
      "Type": "bind",
      "Source": "/home/wengyuanjia/wzg", #主机路径
      "Target": "/java"  #容器路径
    },
    "SkipMountpointCreation": false
  }
}

文档信息

Related Issues not found

Please contact @wengyuanjia to initialize the comment

Search

    Table of Contents

    目录