docker的下载和使用

镜像与容器

  在web项目开发完成准备上线时,通常采用docker进行容器化管理,这样当需要新增服务器时,只需要将容器生成镜像,将镜像复制到另外的服务器即可,在使用之前我们有必要了解一些什么是镜像什么是容器

镜像:就是将操作系统打包成一个文件,这可文件容易传输,就想平时使用U盘重装系统是放在U盘的系统,区别在于镜像里面一般很纯净,只有一些系统必要的文件,没有其他文件,所有不像我们安装系统的文件这么大,像redis镜像,mysql镜像等镜像一般只有100m大小

容器:是已经运行在内存的镜像文件,内容不能直接复制,就像我们使用的操作系统,所以想要将容器复制一份,需要先将容器打包成镜像文件,关系图如下所示:

官网:https://hub.docker.com/

下载

1.更新ubuntu的apt源索引:

sudo apt-get update

2.安装允许apt通过https使用仓库:

sudo dpkg --configure -a
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

3.添加Docker官方DPD key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4.设置Docker稳定版仓库

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5.添加仓库后,再次更新apt源索引

sudo apt-get update

6.安装最新版Docker CE(社区版)

sudo apt-get install docker-ce

7.检测Dcoker CE是否安装成功(命令是允许hello-world镜像,由于系统本来没有hello-world镜像,docker会自动在官网下载hello-world镜像)

sudo docker run hello-world

安装成功则会出现下图:

docker常命令使用

查看docker当前版本

docker version

启动docker

sudo service docker start

停止docker

sudo service docker stop

重启docker

sudo service docker restart

 

关于镜像

列出所有镜像

docker image ls --all(课程查看镜像名,镜像id等信息)

拉取镜像(没有版本号默认拉去最新版本)

docker image pull <镜像名:版本号>

删除镜像(在删除镜像前,需要把正在允许的镜像先停止)

docker image rm <镜像名或者镜像id>

把镜像打包成文件发送给别人

docker save -o 自定义文件名.tar.gz 镜像名

把镜像tar.gz文件加载到docker中

docker load -i 文件名.tar.gz

 

关于容器

运行镜像文件

docker container run -itd -p80:80 -v/home:/home --name=test  镜像名

container可以省略,-i表示容器启动后会进入其命令行终端, -t:表示以“交互模式”运行容器,-d:创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器),-p:冒号前面是服务器的端口号,即外部访问的端口号,后面是容器得到端口号,-v:冒号前面是服务端的目录,后面是容器的目录,将该目录生成一个快捷方式到冒号后面的目录,--name是指定容器名,不写则系统自动生成

 列出所用容器

docker container ls (列出所用正在运行的容器)

docker container ls --all(列出所用容器)

启动容器

docker container start <容器名或者容器id>

停止容器(类似于电脑正常关闭)

docker container stop <容器名或者容器id>

杀死容器(类似于拔电脑电源)

docker container kill <容器名或者容器id>

进入正在运行的容器(bash是进入容器的第一个命令)

docker container exec -it 容器名或者容器id bash

删除容器

docker container rm<容器名或者容器id>

把容器保存成镜像

docker commit <容器名或容器id> 自定义镜像名

其他

使用docker命令需要管理员权限,如果希望每次输入docker相关命令时,不用sudo,可通过以下命令进行设置

sudo usermod -a -G docker $USER
sudo service docker restart
newgrp - docker

 

posted @ 2019-10-10 10:52  mark平  阅读(1887)  评论(0编辑  收藏  举报