所有命令均在centos7下实际使用。
本文命令中关于容器操作通常是用容器名。
systemctl start docker
systemctl stop docker
查看镜像:docker images
查看容器:docker ps -a
docker pull centos:centos6.9
docker rmi centos
docker run -itd --name centos centos:centos6.9
注意:镜像名不能同已存在相同,用docker ps -a 查看
停止:docker stop centos
开始:docker start centos
删除:docker rm -f centos
容器内容保存到镜像:docker commit ccps ccps:ccps
docker exec -it centos /bin/bash
docker cp /tmp/jdk-8u121-linux-x64.tar.gz centos:/usr/cyberkey
docker run -it -v /home/share:/share --restart=always --name centos --network host centos:centos6.9 /bin/bash
共享文件夹会涉及读写权限,处理方式:
1、宿主机文件夹所属的用户和组 同 容器中的用户和组相同,且用该用户启动容器
2、宿主机和容器里用户名和用户组相同,而且其对应的uid和gid值也必须一致。否则,需要修改uid和gid到一致
save/load镜像一般用于从第三方导出
docker save -o centos.tar.gz centos
说明:导出镜像文件 (-o:指定保存的镜像的名字;centos.tar:保存到本地的镜像名称(必须是tar.gz);centos:镜像名字)
docker load < centos.tar.gz
export/import基于容器实例倒出/倒入
docker export centos > /tmp/centos.tar #容器实例内容导出为文件
docker import - centos:java < /tmp/centos.tar #导入为镜像
注:如果启动报:docker Error response from daemon: No command specified ,运行时后面加" /bin/bash"启动命令
docker run -itd --name centos centos:java /bin/bash
桥接模式下,容器的ip独立于宿主机。
docker run -itd --name centos --network bridge --ip 172.17.0.10 centos:centos6.9 /bin/bash
宿主机模式下(网络类型host),Docker容器的网络会附属在主机上(即ip一样、端口一样),两者是互通的。
例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中
docker run -itd --name centos --network host centos:centos6.9 /bin/bash
其它模式略
docker port centos
docker run -tid --name centos -p 8088:80 centos:centos6.9
docker run -itd --name centos -p 192.168.10.214:7777:80 -p 127.0.0.1:7788:80 centos:centos6.9
注意:端口能否正常访问需防火墙关闭或正确开放相应端口。
systemctl stop docker
vi /etc/docker/daemon.json
加入如下内容:
{
“graph”:“/data/docker-data”
}
systemctl daemon-reload #从原来的转移数据到新的
https://www.runoob.com/docker/docker-tutorial.html