距离上一次学习 docker已经很久了,好久没学全忘了。之前GitHub有朋友提了ISSUE说给那个SSM博客加个 Docker 部署,最近又闲,工作压力小,于是准备搞一下。
重新学一下 Docker
https://download.docker.com/mac/stable/Docker.dmg
下载完 dmg 双击安装
2.配置Hub加速镜像
参考这里
右键点击桌面顶栏的 docker 图标,选择 Preferences
在 Daemon 标签(Docker 17.03 之前版本为 Advanced 标签)下的 Registry mirrors 列表中
将 https://aezabgyi.mirror.aliyuncs.com 加到"registry-mirrors"的数组里,
点击 Apply & Restart按钮,等待Docker重启并应用配置的镜像加速器。
sudo yum install docker
2.启动命令
sudo service docker start
3.设置开机自启
sudo chkconfig docker on
4.查看docker 版本
docker -v
5.查看docker信息
docker info
docker images
2.查看正在运行运行中的 docker 进程(容器)
docker ps
3.下载 nginx 镜像
docker pull nginx
4.启动 nginx,将启动一个容器,将nginx的80端口映射到本机的8080端口
docker run -p 8080:80 -d nginx
5.在浏览器访问 http://localhost:8080/ 可以看到 nginx 默认首页
6.进入容器,docker ps可以看到容器ID,这里我的 nginx 启动后的ID是 40261aef7cb0
docker exec -it 40261aef7cb0 /bin/bash
nginx安装目录通常是 /usr/share/nginx
其静态文件通常是放在 /usr/share/nginx/html 里面
里面已经有50x.html和index.html两个页面,我们将其删掉,执行 rm index.html即可
从容器里处理只需要 exit
7.将本地静态项目,比如前端项目,vue打包后的项目 拷贝到 nginx 中
将本地当前目录的 index.html 上传到 nginx 中
docker cp index.html 40261aef7cb0://usr/share/nginx/html
然后刷新一下 http://localhost:8080/ 就可以看到我们的自己写的 index.html 内容
8.停止容器
docker stop 40261aef7cb0
9.再次启动一个 nginx 的容器
docker run -p 8080:80 -d nginx
发现之前写入的文件不见了,原因是 docker 中对容器的修改都是暂时的,默认是没有保存的
10.设置对容器修改,默认保存
还是先将 index.html 拷贝到 nginx 里面(容器ID是修改了的)
docker cp index.html 9f3fa045eeda://usr/share/nginx/html
提交保存
docker commit -m "update index.html" 9f3fa045eeda nginx-demo
将会生成一个新的 images,nginx-demo 是镜像名称
通过 docker images 查看
11.删除镜像(b869cc9e3150是镜像ID)
docker rmi b869cc9e3150
12.清除不需要的容器
docker ps 是查看正在运行的容器
docker ps -a 是查看所有容器
删除不需要的容器
13.以我们创建的镜像启动新的容器
docker run -p 8080:80 -d nginx-demo
不用怀疑,这次肯定是我们之前的内容
重新学一下 Docker
一、MAC上安装Docker
1.下载地址https://download.docker.com/mac/stable/Docker.dmg
下载完 dmg 双击安装
2.配置Hub加速镜像
参考这里
右键点击桌面顶栏的 docker 图标,选择 Preferences
在 Daemon 标签(Docker 17.03 之前版本为 Advanced 标签)下的 Registry mirrors 列表中
将 https://aezabgyi.mirror.aliyuncs.com 加到"registry-mirrors"的数组里,
点击 Apply & Restart按钮,等待Docker重启并应用配置的镜像加速器。
二、CentOS 上安装Docker
1.下载安装命令sudo yum install docker
2.启动命令
sudo service docker start
3.设置开机自启
sudo chkconfig docker on
4.查看docker 版本
docker -v
5.查看docker信息
docker info
三、开始使用,启动一个Nginx并保存新的镜像
1.查看所有镜像,什么都没有docker images
2.查看正在运行运行中的 docker 进程(容器)
docker ps
3.下载 nginx 镜像
docker pull nginx
4.启动 nginx,将启动一个容器,将nginx的80端口映射到本机的8080端口
docker run -p 8080:80 -d nginx
5.在浏览器访问 http://localhost:8080/ 可以看到 nginx 默认首页
6.进入容器,docker ps可以看到容器ID,这里我的 nginx 启动后的ID是 40261aef7cb0
docker exec -it 40261aef7cb0 /bin/bash
nginx安装目录通常是 /usr/share/nginx
其静态文件通常是放在 /usr/share/nginx/html 里面
里面已经有50x.html和index.html两个页面,我们将其删掉,执行 rm index.html即可
从容器里处理只需要 exit
7.将本地静态项目,比如前端项目,vue打包后的项目 拷贝到 nginx 中
将本地当前目录的 index.html 上传到 nginx 中
docker cp index.html 40261aef7cb0://usr/share/nginx/html
然后刷新一下 http://localhost:8080/ 就可以看到我们的自己写的 index.html 内容
8.停止容器
docker stop 40261aef7cb0
9.再次启动一个 nginx 的容器
docker run -p 8080:80 -d nginx
发现之前写入的文件不见了,原因是 docker 中对容器的修改都是暂时的,默认是没有保存的
10.设置对容器修改,默认保存
还是先将 index.html 拷贝到 nginx 里面(容器ID是修改了的)
docker cp index.html 9f3fa045eeda://usr/share/nginx/html
提交保存
docker commit -m "update index.html" 9f3fa045eeda nginx-demo
将会生成一个新的 images,nginx-demo 是镜像名称
通过 docker images 查看
11.删除镜像(b869cc9e3150是镜像ID)
docker rmi b869cc9e3150
12.清除不需要的容器
docker ps 是查看正在运行的容器
docker ps -a 是查看所有容器
删除不需要的容器
13.以我们创建的镜像启动新的容器
docker run -p 8080:80 -d nginx-demo
不用怀疑,这次肯定是我们之前的内容
四、命令总结
docker pull [镜像名称] | 获取镜像 |
docker build | 构建对象,如对当前目录的DockerFile文件执行 docker build -t myImages:v1.0 . 创建镜像 |
docker images | 列出所有镜像 |
docker run [镜像名称] | 以某个镜像启动一个容器 |
docker ps | 列出正在运行的容器(-a参数表示所有) |
docker rm [容器ID] | 删除容器 |
docker rmi [镜像ID] | 删除镜像 |
docker cp [文件名] [容器路径] | 将本地文件拷贝到容器中 |
docker commit | 将修改的保存为新的镜像 |
2019年06月18日 15:18:14
学习了
2019年05月27日 14:53:55
测试代码