1.安装的docker版本
docker -v Docker version 17.03.2-ce
2.查看本地的镜像
docker images
3.拉取镜像
docker pull centos:7
4.编写Dockerfile
FROM nginx RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
5.build Dockerfile
docker build -t . xxx # 镜像的名字
bash
docker run -i -t ubuntu:15.10 /bin/bash
参数
-it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。 --rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间
6.运行
docker run xxx # 镜像的名字
7.查看自己镜像的id
docker ps
8.查看内网ip地址等运行情况
docker inspect id | grep IP "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.5", "IPPrefixLen": 16, "IPv6Gateway": "", "IPAMConfig": null, "IPAddress": "172.17.0.5", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0,
9.请求nginx
curl 172.17.0.5:80 <h1>Hello, Docker!</h1>
10.如果想要镜像不退出,然后进行镜像中
# run ENTRYPOINT ["/bin/bash","-c","cat /hosts.txt >> /etc/hosts && bash /sleep.sh"]
然后执行
docker run --network=host xxxx
查看id
docker ps
进入镜像中
docker exec -it xxxx bash
mac使用docker的时候配置仓库
https://registry.docker-cn.com http://docker.mirrors.ustc.edu.cn http://hub-mirror.c.163.com
如果是ubuntu的话,在/etc/docker目录下新建daemon.json,内容
{ "registry-mirrors": ["https://registry.docker-cn.com","http://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com","https://3laho3y3.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io"] }
重启docker服务
sudo systemctl restart docker