一、Docker 是什么?

  Docker 是一个开源的应用容器引擎,它可以将软件编译成一个镜像,然后在镜像中对软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像,运行中的这个镜像称为容器,容器启动时非常快速的。(Docker 官网)

二、Docker 的三个概念

1. 镜像(Image):

  类似于虚拟机中的镜像,是一个包含有文件系统的面向 Docker 引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个 Ubuntu 镜像就是一个包含 Ubuntu 操作系统环境的模板,同理在该镜像上装上 Apache 软件,就可以称为 Apache 镜像。

2. 容器(Container):

  类似于一个轻量级的沙盒,可以将其看作一个极简的 Linux 系统环境(包括 root 权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker 引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker 在镜像的上层创建一个可写层,镜像本身不变。

3. 仓库(Repository):

  类似于代码仓库,这里是镜像仓库,是 Docker 用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用 tag 进行区分,比如 Ubuntu 仓库存放有多个版本(12.04、14.04 等)的 Ubuntu 镜像。(官网的仓库)

三、Docker 的安装

官方文档

1)安装一些必要的系统工具

sudo yum install -y yum-utils

2)安装存储库

  使用阿里云的路径下载速度快

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3)更新 yum 缓存

sudo yum makecache fast

4)安装 Docker-ce

sudo yum -y install docker-ce docker-ce-cli containerd.io

5)启动 Docker 进程

sudo systemctl start docker

6)查看 Docker 的版本信息

docker version

版本信息

image.png

四、拉取并运行容器(以 solo 为例)

  搭建 Solo 官方教程

1)拉取 solo 镜像

docker pull b3log/solo

2)建立 solo 数据库

  根据拉取镜像的要求建立数据库。.

3)运行 solo 容器

docker run --detach --name solo --network=host \  
    --env RUNTIME_DB="MYSQL" \  
    --env JDBC_USERNAME="数据库账号" \  
    --env JDBC_PASSWORD="数据库密码" \  
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \  
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \ 
b3log/solo --listen_port=项目端口号 --server_scheme=http --server_host=访问域名或公网 IP

4)如果需要挂载皮肤

  如果要使用其他皮肤,可以挂载目录 skins。

docker run --detach --name solo --network=host --volume 自己皮肤的目录:/opt/solo/skins/  \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="数据库账号" \
    --env JDBC_PASSWORD="数据库密码" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
b3log/solo --listen_port=项目端口号 --server_scheme=http --server_host=访问域名或公网 IP --server_port=

五、Docker 的其他命令

1)查看当前所有的容器

docker ps -a   

2)查看当前启动的容器

docker ps  

3)查看 Docker 的中的所有镜像

docker images

4)重启指定容器

docker update --restart=always [NAME]/[CONTAINER ID]

六、容器的关闭和删除以及镜像的删除

1)将容器退出

docker stop [NAME]/[CONTAINER ID]

2)强制停止容器

docker kill [NAME]/[CONTAINER ID]

3)删除容器

docker rm [NAME]/[CONTAINER ID]

4)删除镜像

docker rmi [CONTAINER ID]

六、Docker 的的卸载

1、旧版本

# 卸载旧版本  
sudo yum remove docker \  
 docker-client \  
 docker-client-latest \  
 docker-common \  
 docker-latest \  
 docker-latest-logrotate \  
 docker-logrotate \  
 docker-engine  

2、新版本

1)卸载 Docker
sudo yum remove docker-ce
2)删除其他数据

  主机上的图像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷

sudo rm -rf /var/lib/docker

  您必须手动删除任何已编辑的配置文件。


标题:Linux(Centos7.6)中Docker的介绍、安装、运行、挂载、卸载
作者:Yi-Xing
地址:http://47.94.239.232:10014/articles/2019/09/15/1568540312622.html
博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!