docker第二天: 简单命令使用
常用命令
查看docker进程:
docker ps
查看docker信息:
docker info
来查看docker的信息
用docker运行一个nginx服务
docker run -d -p 8080:80 --name webserver nginx
-d 表示在后台进行
-p 表示用docker服务的8080端口,映射到docker容器里面的80端口
--name 给启动的docker容器命名为 webserver
遇到的问题
nginx启动之后,我发现在浏览器通过localhost:8080 访问不到nginx,后面发现,localhost指的是docker服务的ip,而不是mac机器的ip,所以通过docker-machine ssh default
连上docker-machine,然后在docker-machine里面执行curl localhost:8080
就可以访问到nginx了.
然后通过docker-machine config default
可以知道,docker-machine的ip地址为192.168.99.101
, 或者通过 docker-machine ip default
也可以得到docker主机的ip地址, 所以在mac地址可以通过192.168.99.101:8080访问到nginx
在容器里面执行sh和attach到某一个容器
通过docker exec -it 容器id sh
命令可以在指定的容器id上面执行sh命令,或者通过docker attach 容器id
去附着到某一个容器进行查看
停止一个容器并且删掉这个镜像
先docker stop 容器id
然后再通过docker ps -a
查看所有的容器
接着通过docker rm 容器id
删除想要删除的容器
最后删除一个镜像docker rmi nginx
创建一个自己的镜像
首先先编写一个Dockerfile文件
FROM ubuntu:14.04
RUN apt-get update
ADD run.sh /
VOLUME /data
CMD ["./run.sh"]
然后执行命令 docker build -t docker-test:lastest - < ./Dockerfile
来根据dockerfile来创建一个镜像