docker 笔记
下载镜像
# docker pull nginx
下载指定版本的镜像 不指定的话默认下载最新的
# docker pull nginx:latest
查看现在有哪些docker镜像
# docker images
运行镜像文件
#docker run nginx
#docker run -d -p 80:80 nginx
参数:
-d 让docker在后台运行不要阻塞住shell的界面
-p 将docker的镜像的端口进行映射 将镜像的80端口映射到本机的80端口(例子:docker run -d -p 本机端口:镜像容器的端口 nginx)
--name 将运行的镜像起个名字,如果不起的话名字是随机的比较乱
-v 将外部的文件映射到内部 (例子 docker run -d -p 80:80 -v `/etc/passwd:/usr/share/nginx/html/` nginx 将本地的passwd文件映射到html的目录下)
查看正在运行的容器有哪些
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a65c98a516f1 nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 0.0.0.0:8083->80/tcp condescending_vaughan
d702f3aa9bc1 nginx "nginx -g 'daemon of…" 6 minutes ago Up 6 minutes 80/tcp, 0.0.0.0:80->8083/tcp agitated_khorana
上述的命令是我在运行一个nginx的服务器,如果我要对这个nginx中间件的内容进行一些修改南无我可以用以下命令进入到这个文件包中
$ docker exec -it a65c98a516f1 bash //通过CONTAINER ID进入到容器的镜像文件中
root@a65c98a516f1:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
cd /usr/share/nginx/html
root@a65c98a516f1:/usr/share/nginx/html# ls
50x.html index.html
这样既可对容器的文件进行修改。
通过exit退出当前的容器
删除创建的容器映射
查看容器id
docker ps
删除容器映射
#docker rm -f 【CONTAINER ID】
对运行修改后的docker镜像进行保存
查看容器id
docker ps
docker commit 【CONTAINER ID】 【新镜像的名字】
docker images //查看docker的镜像文件
dockerfile的用法(自己制作一个docker镜像文件)
例如:vim Dockerfile //必需是Dockerfile的这个名字
1 FROM nginx //加载一个基础的docker镜像
2 ADD ./ /usr/share/nginx/html/ //将当前文件下的文件拷贝到基础镜像中的/usr/share/nginx/html/的下面
然后在当前文件夹下创建一个文件index.html
vim index.html
1 -----ethanwiener-dockerfile-----
然后通过docker build 命令制作镜像文件
docker bulid -t m2 . //docker bulid -t 【新制作的镜像名字】 【目录路径】
docker images //查看现有的镜像文件就多出来了一个新建的镜像
docker save方法(将一个容器的镜像打包成tar的文件)
docker images
docker save m2 > 1.tar //docker save [镜像文件的名字] > [tar压缩包的名字]
ls //查看当前路径下就多了一个tar的压缩包
docker rmi方法(删除现有的镜像文件)
$ docker images //查看现有的镜像文件
REPOSITORY TAG IMAGE ID CREATED SIZE
ethanfile latest b865721c2859 15 minutes ago 111MB
ethan latest f961f3ec2365 39 minutes ago 109MB
nginx latest 98ebf73aba75 3 days ago 109MB
$ docker rmi ethanfile:latest //删除现有的ethanfile:latest镜像文件
Untagged: ethanfile:latest
Deleted: sha256:b865721c2859f99545f1a3f6e4651524d780d1705c549d29c3a6508709bd39c3
Deleted: sha256:ea47da30ad465fb920f0601227ad5079ad5e6cea50c5566e900b9b64548af72a
$ docker images 再次查看
REPOSITORY TAG IMAGE ID CREATED SIZE
ethan latest f961f3ec2365 40 minutes ago 109MB
nginx latest 98ebf73aba75 3 days ago 109MB
docker load方法(将tar的压缩镜像拉回到本地的镜像列表)
docker load < 1.tar //镜像拉回
docker images //镜像查看