Linux中Docker的基本使用方法
2017-07-23 09:55:00

    自从上次给大家写了一篇在docker中安装gitlab已经gogs后,我收到很多人的来信询问docker的基本使用方法。因此这里我先教一下大家docker的基本使用方法。

一、安装

Debian平台:

    1、卸载老版本的docker

       apt-get autoremove docker docker-engine docker.io --purge -y

    2、安装相关依赖

        apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y

    3、将源添加入

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

    4、将安全证书加入

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

    5、安装软件

        apt-get update && apt-get install docker-ce -y

CentOS平台:

    1、卸载老版本的docker

        yum remove docker docker-common docker-selinux docker-engine -y

    2、安装相关依赖文件

        yum install yum-utils device-mapper-persistent-data lvm2 -y

    3、安装相关的源

        yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    4、安装软件

        yum makecache fast && yum install docker-ce -y && systemctl start docker


二、生成container

docker镜像的官方源是传送门

我一般是在docker中下载纯净版本的debian与centos,然后配置自己所需要的功能。

1.下载官方最新版镜像的方法是

下载debian系统:docker pull debian

下载centos系统:docker pull centos

2.在学习生成相关镜像之前,需要先了解几个参数,-v是用于挂载主机与虚拟机的目录的命令,-p是用于端口映射的,

--name是用于修改当前镜像的别名,-i -t通常一起使用,是创建一个bash用于执行命令的,-d是后台运行用的。

因为web端通常是80端口与443端口。

这里我假设需要建立一个web服务器。

新建docker container的方法是docker run -i -t -d -p 80:80 -p 433:433 -v /home/gocker/www:/var/www --name webserver debian

如果要用centos版本的,就在将最后面的debian修改为centos。

如果确定了生成成功了,可以执行docker ps -a,这样就能看到container的id了。

3.启动docker的方法

docker start 3ie93i849e3r

其中3ie93i849e3r是我假设的生成后的容器的id。

4.操作container

docker exec -it 3ie93i849e3r /bin/bash

5.退出操作container

exit

6.关闭container

docker stop 3ie93i849e3r


三、删除container

如果当前的container没有运行,可以直接执行docker rm 3ie93i849e3r。

如果当前的container正在运行,需要先执行docker stop 3ie93i849e3r


四、重启container

docker restart 3ie93i849e3r


五、删除docker image

所使用的方法为docker rmi debian,或是docker rmi centos。

当然,如果当前的docker image已经生成了docker container,就会删除失败。

需要先删除container。