docker使用手册



目录





docker介绍

docker这个程序只是一个控制台程序,用于attach,真正操作docker的是运行在后台的docker daemon,也就是我们需要通过systemctl start docker来启动docker daemon。(所以说即使我们设置了环境变量http_proxy,那么也只是针对前台docker console使用,而真正访问pull镜像的确是后台的daemon,因此,需要设置daemon访问proxy。)

ubuntu 镜像地址

​https://hub.docker.com/_/ubuntu?tab=tags&page=1&ordering=last_updated​

docker文件目录

docker的镜像与容器都存储在/var/lib/docker下面,不同操作系统的存储方式不同。

1、/var/lib/docker/devicemapper/devicemapper/data #用来存储相关的存储池数据

2、/var/lib/docker/devicemapper/devicemapper/metadata #用来存储相关的元数据。

3、/var/lib/docker/devicemapper/metadata/ #用来存储 device_id、大小、以及传输_id、初始化信息

4、/var/lib/docker/devicemapper/mnt #用来存储挂载信息

5、/var/lib/docker/container/ #用来存储容器信息

6、/var/lib/docker/graph/ #用来存储镜像中间件及本身详细信息和大小 、以及依赖信息

7、/var/lib/docker/repositores-devicemapper #用来存储镜像基本信息

8、/var/lib/docker/tmp #docker临时目录

9、/var/lib/docker/trust #docker信任目录

10、/var/lib/docker/volumes #docker卷目录

————————————————

常用命令

常用命令

# 拉取镜像
docker pull ubuntu:18.04
# 列出镜像
docker image ls
docker images
# 查看所有镜像,包括停止的
docker ps -a
# 运行容器
sudo docker run -p 50003:22 --cpus="16" -itd --name ubuntu-datamining ubuntu:18.04 /bin/bash
# -P 将容器内部使用的网络端口随机映射到我们使用的主机上。
# 进入容器
docker exec -it ubuntu-datamining /bin/bash
# 关闭容器
docker stop ubuntu-datamining
# 删除容器
docker rm ubuntu-datamining

# 压力测试
stress -c 20 # 占用20个CPU


传输文件


  1. 容器向宿主机


docker cp container_id:<docker容器内的路径> <本地保存文件的路径>



  1. 宿主机向容器


docker cp 本地文件的路径 container_id:<docker容器内的路径>


docker网络


  • docker network create
  • docker network connect
  • docker network ls
  • docker network rm
  • docker network disconnect
  • docker network inspect


安装Docker Engine时会自动创建一个默认的bridge网络​​docker0​​​。此外,还可以创建自己的​​bridge​​​网络或​​overlay​​​网络。​​bridge​​​网络依附于运行Docker Engine的单台主机上,而​​overlay​​网络能够覆盖运行各自Docker Engine的多主机环境中。​

镜像保存与加载

docker save -o ubuntu18.04.tar ubuntu:18.04
docker load -i ubuntu18.04.tar


重命名镜像

docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)


获取容器启动(详细信息)命令

docker inspect ubuntu-datamining


提交容器为新镜像

docker commit -m ubuntu_for_python ubuntu-datamining ubuntu_image


修改容器映射端口

[root@docker a9c9f31cd...ff24c8]# pwd
/var/lib/docker/containers/d93185e3a0....2e544ccfa
[root@docker a9c9f31cd...ff24c8]# cat hostconfig.json
{"Binds":["/dockersuperset:/home/superset"],"ContainerIDFile":"",
"LogConfig":{"Type":"json-file","Config":{}},"NetworkMode":"default",
"PortBindings":{"8088/tcp":[{"HostIp":"","HostPort":"8099"}]}......


修改默认存储路径

a. 重建/var/lib/docker目录

#备份数据到新的存放路径service docker stopmkdir /docker.bakmv /var/lib/docker/*  /docker.bak#创建软连接mkdir /home/docker-datamv /docker.bak/*  /home/docker-data/ && rmdir /docker.bakln -s   /home/docker-data  /var/lib/docker


b. 修改配置

vi /usr/lib/systemd/system/docker.service  ExecStart=/usr/bin/dockerd --graph /new-path/docker #reload配置文件 systemctl daemon-reload #重启docker systemctl restart docker.service


每天进步一点点! ©版权声明 文章版权归作者所有,未经允许请勿转载。