1. 镜像搜索
配置镜像仓库三种方法
1. 直接从仓库拉取镜像
$ docker pull registry.docker-cn.com/library/ubuntu:16.04
2. 进程设置镜像仓库地址,重启后失效
$ docker --registry-mirror=https://registry.docker-cn.com daemon
3. 永久有效
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
最后重启docker
systemctl restart docker
镜像搜索
docker search ubuntu
2. 镜像下载
docker pull ubuntu:14.04
docker pull ubuntu:latest
3. 创建容器
查看已经下载的镜像
$ docker image ls
或者
$ docker images
创建容器
$ docker create --name ff1 ubuntu
$ docker create --name ff1 452a96d81c30
创建并启动容器
$ docker run --name ff2 ubuntu //启动后推出
创建交互式容器
$ docker run -i -t --name ff3 ubuntu /bin/bash
//-i和-t会启动容器的bash,当输入exit时才会退出
可以将docker run看作时一个进程,在完成任务的时候进程就会退出,因此,后面带着/bin/bash参数就会一直运行
4. 查看所有容器
1. 列出当前运行的容器
$ docker ps
2. 列出所有容器
$ docker ps -a
5. 启动容器
注意:只有创建的交互式容器才能使用下面的命令启动
$ docker start ff1
6. 重启容器
注意:只有创建的交互式容器才能使用下面的命令
$ docker restart [容器名或容器id]
7. 链接容器
$ docker attach [容器名或容器id]
$ docker exec -it [容器名或容器id] /bin/bash
exit或者ctrl-D会终止容器
依次ctrl-P,ctrl-Q只会退出不会终止
8. 终止容器
$ docker stop [容器名或容器id]
9. 删除容器
$ docker rm [容器名或者容器id]
10. 删除镜像
$ docker rmi [镜像名:标签]
$ docker rmi ubuntu:latest,如果不带标签会删除所有带Ubuntu的镜像
11. 端口映射
1.对容器暴露的所有端口,随机映射宿主机端口
-P , –publish-all=true | false,默认为false
# docker run -P -it ubuntu /bin/bash
2. 映射宿主机随机端口到容器指定端口
-p containerPort( -p表示 –publish=[ ] )
# docker run -p 80 -it ubuntu /bin/bash
3. 映射宿主机指定端口到容器指定端口(一 一对应)
hostPort : containerPort
# docker run -p 8080:80 -it ubuntu /bin/bash
4. 指定容器IP和容器端口,宿主机端口随机映射
ip : : containerPort
# docker run -p 127.0.0.12::80 -it ubuntu /bin/bash
5. 指定容器IP、宿主机端口、容器端口
ip : hostPort : containerPort
# docker run -p 127.0.0.12:8080:80 -it ubuntu /bin/bash
12. 文件复制
从主机复制到容器sudo docker cp host_path containerID:container_path
从容器复制到主机sudo docker cp containerID:container_path host_path