Docker常用命令

所有命令均在centos7下实际使用。
本文命令中关于容器操作通常是用容器名。

docker启动/停止

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容器(反之一样)

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到一致

镜像导出/导入

方式1-save/load

save/load镜像一般用于从第三方导出
docker save -o centos.tar.gz centos
说明:导出镜像文件 (-o:指定保存的镜像的名字;centos.tar:保存到本地的镜像名称(必须是tar.gz);centos:镜像名字)
docker load < centos.tar.gz

方式2-export/impor

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

IP+端口映射

docker run -itd --name centos -p 192.168.10.214:7777:80 -p 127.0.0.1:7788:80 centos:centos6.9

注意:端口能否正常访问需防火墙关闭或正确开放相应端口。

docker改变数据存放位置

systemctl stop docker
vi /etc/docker/daemon.json
加入如下内容:
{
“graph”:“/data/docker-data”
}
systemctl daemon-reload #从原来的转移数据到新的

docker安装教程

https://www.runoob.com/docker/docker-tutorial.html

你可能感兴趣的:(经验谈,docker,容器,运维)