docker简介

1. docker安装

可以到docker官网下载docker,按照自己设备类型下载应用。

https://docs.docker.com/engine/install/

美国对中国经济制裁目前是针对中国大型企业的,个人使用下载还是可以用的。替代产品目前Podman还可以,权限管理和安全性比docker好,使用要麻烦些。

2. docker启动和停止

指定根目录启动
dockerd --data-root /opt/docker &
kill -9 `pidof dockerd`
docker默认启动目录是/var/lib/docker,当此目录空间不足时,需要更换docker到一个空间足够的目录下。

解决办法是做个软链接:

mv /var/lib/docker /home
ln -s /home/docker /var/lib/docker

使用docker info,可以查看到docker的根目录已经改变到/home/docker下。

3. docker镜像导入导出

docker save -o /tmp/nginx.tar nginx:1.14
docker load -i nginx-1.14.tar
镜像可以通过docker pull到搭建的docker仓库下载:
docker pull imageadd:0.0.1
如果目标环境不能连接docker仓库,可以先获取镜像文件,然后通过手动导入的方式:
docker load < /tmp/docker1.tar

镜像导入:docker import test.tar test:latest

镜像导出:docker export –o test.tar test

镜像删除:docker rmi imageID1

4. 参数说明

–name 指定容器名字
-v 后面为冒号分隔的两个路径,前面的路径需要修改为主机上面代码的目录,后面的路径为容器默认路径
-p 前面的端口为主机上映射出来的端口,后面的端口为容器中使用的端口
-it 使用交互模式运行命令
-e 传递环境变量给容器
-d 让容器在后台运行

5. 创建一个容器

docker create + 选项(-i, -t, -d, -p, -v, -e) + 镜像

docker create --name mydocker -it -p 2021:1800 mydocker :1.0

# 各选项含义
-i:以交互模式运行容器,通常与-t 同时使用;
-d:后台运行容器,并返回容器ID;
-p:端口隐射, 宿主机在前,容器在后
-P:随机映射宿主机端口
-t:为容器重新分配一个伪输入终端,通常与-i 同时使用;
-v:目录挂载
--entrypoint: 指定进入点
--restart=always: 服务重启

6. 从镜像启动一个容器

docker run -p 2021:1800 -p 2022:1443 -it -d -e EDGEADDR="192.168.10.150:9018" -e IFADMIN="true"  mydocker/mydockerPortal:1.1.2

7. docker容器常用命令

docker查看镜像:docker images
docker查看容器:docker ps
启动:docker run -it ubuntu /bin/bash(7是实例)
启动已停止容器:docker start mydocker
停止容器:docker stop mydocker 
重启容器:docker restart mydocker 
进入容器:docker exec -it mydocker /bin/bash
root用户进入容器:docker exec -uroot -it mydocker bash
容器重命名:docker rename mydocker mydocker1
强制删除一个正在运行的容器:docker rm -f mydocker
删除已停止运行的所有容器: docker container prune
拷贝文件:docker cp mydocker:/test.log test.log
查看容器内已修改文件:docker diff mydocker
查看容器日志:docker logs [-f] mydocker
查看容器内运行进程:docker top mydocker
查看容器的底层信息:docker inspect mydocker
查看运行容器的统计数据:docker stats
创建一个网络:docker network create –-driver bridge network1(网络驱动程序有五个:bridge(默认)、host、overlay 、macvlan、none(禁用网络))
查看已创建的network列表:docker network ls  
查看网络详情:docker network inspect network1
容器连接到network(容器名mydocker别名mydocker1):
docker run --name=mydocker -d --network=network1 --network-alias=netalias mydocker
docker network connect --ip=192.168.1.10 --alias=mydocker1 --network=network1 mydocker
断开network:docker network disconnet network1 mydocker
删除network:docker network rm network1 
列出所有数据卷:docker volume ls
列出所有未使用的数据卷:docker volume ls --filter dangling=true
删除一个数据卷:docker volume rm volume1



posted @ 2020-08-24 17:43  飞鱼厅  阅读(135)  评论(0编辑  收藏  举报