Docker安装和使用

作者:陆金龙    发表时间:2022-04-20 09:18   

关键词

1.认识Docker

Docker是基于Go语言实现的开源容器项目。Docker属于操作系统级虚拟化,比虚拟机更轻量。

重点理解镜像、容器、仓库几个概念。

(1)镜像(Image):应用程序及其运行时环境全部打包到一个Dockerfile文件中。

    镜像是静态的只读文件,是创建容器的基础。

    运行容器前需要本地存在对应的镜像(如果没有,Docker会尝试从默认的镜像仓库下载)。

(2)容器(Container):镜像的一个运行实例。

(3)仓库(Repository):存放镜像文件。

应用场景:编程语言、数据库、缓存系统、消息队列...

2.安装Docker

安装Docker

curl -sSL https://get.daocloud.io/docker | sh

如果报错No Presto metadata available for base No Presto metada,则执行yum clean all后重新安装。

启动 Docker

systemctl start docker

测试

docker run hello-world

3.卸载Docker

yum remove docker-ce

rm -rf /var/lib/docker

4.使用Docker

以MySQL和RabbitMQ为例。

4.1安装和使用MySQL

(1)拉取mysql:

  docker pull mysql:latest

(2)查看镜像:

 docker images

 

(3)运行容器(运行后即可使用navicat等客户端连接了):

docker run -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-latest mysql

-i:以交互模式运行,通常配合-t
-t:为容器重新分配一个伪输入终端,通常配合-i
-d:后台运行容器
-p:端口映射,格式为主机端口:容器端口
-e:设置环境变量,这里设置的是root密码
--name:设置容器别名
   docker run 等价于先执行docker create,再执行docker start。

(4)进入容器

   docker exec -it mysql-latest /bin/bash

4.2 安装rabbitmq

(1)查找镜像

docker search rabbitmq

(2)安装镜像(直接安装最新的

docker pull rabbitmq 或

docker pull rabbitmq:management

(3)运行容器
docker run -d --name rabbitmq -p 15672:15672 -p 5673:5672 rabbitmq
     
  启动管理后台
rabbitmq-plugins enable rabbitmq_management

(4)进入容器

   进入rabbitmq这个容器中,可执行rabbitmq命令

[root@localhost ~]# docker exec -it rabbitmq /bin/bash
root@61e20885dd2a:/# 

4.3 安装Java8

(1)查找java:8镜像

   docker search java:8

  (2)  拉取镜像

  docker pull java:8

  (3) 运行容器

5.更多命令

查看镜像

docker images

删除镜像

docker rmi <image id>

停止、启动、杀死、重启一个容器

docker stop Name或者ID  
docker start Name或者ID  
docker kill Name或者ID  
docker restart name或者ID

删除容器

docker rm Name

删除所有停止的容器

docker rm $(docker ps -a -q)