Docker安装和基础命令

距离上一次学习 docker已经很久了,好久没学全忘了。之前GitHub有朋友提了ISSUE说给那个SSM博客加个 Docker 部署,最近又闲,工作压力小,于是准备搞一下。

重新学一下 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  将修改的保存为新的镜像

 

 

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
言曌

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar GhostKiller

      学习了

      • avatar fsdf

        测试代码