docker安装及使用

本文详细介绍了Docker的安装、优点、基本概念,包括镜像、容器和仓库。提供了Ubuntu18.04上Docker的安装步骤,并展示了如何创建和管理Docker容器,如nginx、mysql和tomcat。此外,还讲解了Docker镜像的导入导出、容器的启动和停止以及在容器中安装软件的方法。最后,文章提及了使用nvidia-docker创建GPU支持的深度学习环境,以及Docker在项目部署中的应用。
摘要由CSDN通过智能技术生成

Docker介绍:


Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。虚拟化在计算领域指的是计算机的各种资源的虚拟化,如服务器,网络,存储等,予以抽象 转换后呈现出来,使得用户可以以比原本的组态更好的方式应用这些资源。

Docker优点


启动速度快,秒级
性能接近原声
内存代价小
硬盘资源节省
运行密度大,单机支持上千个容器
可以安全隔离不同的应用程序
容易迁移

以上优点都是相对于虚拟机来说的。总的来说,Docker容器快,对系统资源需求少,设计理念方便用户,通过Dockerfile支持灵活的自动化创建和部署机制提高工作效率。

概念


Dicker镜像
Docker镜像类似于虚拟机镜像,一个镜像可以只包含一个基本的操作系统,里面仅安装了Apache,就可以成为Apache镜像

Docker容器
Docker容器类似于一个沙箱,Docker利用容器来隔离和运行应用,容器是从镜像创建的应用运行实例。可以把容器看作一个简易版的Linux系统环境以及运行在上面的应用程序打包成的盒子。可以理解为容器是镜像所构成的实例。

Docker仓库
Docker仓库类似于代码仓库,集中存放Docker镜像的地方。

安装:

命令安装:

sudo apt-get update
sudo apt-get install docker
sudo apt-get install docker.io
sudo apt-get install docker-registry

具体步骤:

Docker安装步骤

以下以ubuntu18.04 安装为例:

1.首先更新资源update

sudo apt-get  update

2.安装docker

sudo apt-get install  docker

sudo apt-get install  docker.io

sudo apt-get install  docker-registry

3.停止、启动、重启docker

 sudo systemctl start | stop | restart docker.service

4. 查看docker版本

sudo docker version

5.加入开机自启

sudo systemctl enable docker

6.运行hello-world镜像来测试是否安装成功 

docker run hello-world         #本地没有镜像时会自动从docker hub中下载

 

NVIDIA-docker:

具体安装可以参考官网这里
 

# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update


执行如下指令安装18.03.1版本的docker。 
sudo apt-get install docker-ce=18.03.1~ce-0~ubuntu 
注意:此处的版本号需要根据nvidia-docker的需要进行对应修改

sudo apt-get install -y nvidia-docker2

sudo pkill -SIGHUP dockerd

sudo docker run -–runtime=nvidia -–rm nvidia/cuda nvidia-smi



# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi




or 
# list 查询可用版本:
apt-cache madison nvidia-docker2 nvidia-container-runtime
# 在列表中我选择18.09.2的版本进行安装
# nvidia-docker2和nvidia-container-runtime的版本最好相同

sudo apt-get install -y nvidia-docker2=2.0.3+docker18.09.2-1  nvidia-container-runtime=2.0.0+docker18.09.2-1


# docker 命令安装
 sudo apt-get update
 sudo apt-get install docker
 sudo apt-get install docker.io
 sudo apt-get install docker-registry

# test
docker run hello-world

docker创建常见容器

1.创建nginx 容器:

sudo docker run -d -p 80:80 hub.c.163.com/library/nginx      #镜像地址可以登录163镜像源进行查找

2.创建mysql 容器:

sudo docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest

3.创建tomcat容器:

sudo docker pull hub.c.163.com/library/tomcat:latest

4.通过ubutnu18.04镜像创建一个容器:

sudo docker create ubuntu:18.04     #从默认镜像地址进行查找

4.开始运行容器,并进入镜像的bash终端

sudo docker run -i -t ubuntu:18.04 /bin/bash

 

操作

镜像操作

查看docker镜像:docker images
查找docker镜像:docker search 镜像名
获取docker镜像:docker pull 镜像名:版本      可运行不同版本镜像
提交容器副本:docker commit -m 描述信息 -a 镜像作者 容器id 要创建的目标镜像名
使用文件构建docker镜像: docker build -t 目标镜像名 -f 文件所在目录 镜像存放目录
镜像删除:docker rmi -f 强制删除镜像

获取镜像

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
docker pull ubuntu:18.04



运行镜像

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -it --rm --name ubuntu18 -p 8080:8080 ubuntu:18.04 bash

-i:以交互模式运行容器,通常与 -t 同时使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d:容器后台运行,守护态
-p:指定容器暴露的端口(宿主机端口:容器端口)
--name:指定容器名称
--rm:指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash


列出镜像

docker image ls
docker image ls -a :列出全部镜像
docker image ls ubuntu :列出部分镜像


删除本地镜像

docker image rm [选项] <镜像1> [<镜像2> ...]
docker image rm ubuntu:18.04

<镜像> 可以是 镜像短 ID、镜像长 ID、镜像名 或者 镜像摘要
 

 

容器操作

Docker启动:systemctl start docker
Docker关闭:systemctl stop docker
查看正在运行的容器:docker ps         -a 列出所有容器
根据镜像创建容器:docker create  images_id --name 容器名  
运行容器:docker run -d -p 容器端口:主机端口 镜像或者容器名   -d  容器在后台运行   -p  将容器网络端口映射到主机 -v 主机目录:容器目录(将主机的目录挂载到容器的目录) -w 指定容器工作目录
查看端口映射情况:docker port 容器名
查看容器日志: docker logs -f  容器id         -f  类似与tail -f  可以标准输出
查看容器进程:docker top 容器名
删除容器:docker rm 容器名
进入容器:docker attach 容器id

 

 

 

新建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -it --rm --name ubuntu18 -p 8080:8080 ubuntu:18.04 bash

-i:以交互模式运行容器,通常与 -t 同时使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d:容器后台运行,守护态
-p:指定容器暴露的端口(宿主机端口:容器端口)
--name:指定容器名称
--rm:指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash


启动已终止容器

docker container start [container ID or NAMES]
docker container start ubuntu18


列出容器

docker ps 
docker container ls

-a :显示所有的容器,包括未运行的
-n :列出最近创建的n个容器


终止容器

docker container stop [container ID or NAMES]


重启容器

docker container restart [container ID or NAMES]


Docker 是一种容器化技术,可以帮助开发者快速构建、打包、发布和运行应用程序的环境。在安装使用 Docker 之前,需要先了解 Docker 的基本概念。 Docker 的基本概念 1. 镜像(Image):Docker 镜像是一个只读的模板,包含了运行应用程序所需要的所有文件、配置和依赖项。 2. 容器(Container):Docker 容器是 Docker 镜像的运行实例,可以被创建、启动、停止、删除、暂停等操作。 3. 仓库(Repository):Docker 仓库是用于存储和分享 Docker 镜像的地方,可以是公共的(如 Docker Hub)或私有的(如自己的服务器)。 Docker安装步骤 1. 安装 Docker 在 Ubuntu 系统上,可以使用以下命令安装 Docker: ``` $ sudo apt-get update $ sudo apt-get install docker.io ``` 安装完成后,可以使用以下命令检查 Docker 是否正确安装: ``` $ docker --version ``` 2. 配置 Docker安装 Docker 后,需要将当前用户添加到 Docker 用户组中,以便无需使用 sudo 命令也可以运行 Docker 命令: ``` $ sudo usermod -aG docker your_username ``` 需要重新登录才能使修改生效。 3. 运行 Docker 可以使用以下命令启动 Docker: ``` $ sudo systemctl start docker ``` 可以使用以下命令检查 Docker 是否正在运行: ``` $ sudo systemctl status docker ``` Docker 的基本使用 1. 拉取镜像 可以使用以下命令从 Docker 仓库中拉取镜像: ``` $ docker pull image_name ``` 例如,拉取 Ubuntu 镜像: ``` $ docker pull ubuntu ``` 2. 运行容器 可以使用以下命令运行容器: ``` $ docker run image_name ``` 例如,运行 Ubuntu 容器: ``` $ docker run ubuntu ``` 默认情况下,容器会在后台运行,并显示容器 ID。 可以使用以下命令运行交互式容器: ``` $ docker run -it image_name ``` 例如,运行交互式 Ubuntu 容器: ``` $ docker run -it ubuntu ``` 3. 列出容器 可以使用以下命令列出所有正在运行的容器: ``` $ docker ps ``` 可以使用以下命令列出所有容器: ``` $ docker ps -a ``` 4. 停止容器 可以使用以下命令停止容器: ``` $ docker stop container_id ``` 例如,停止容器 ID 为 123 的容器: ``` $ docker stop 123 ``` 可以使用以下命令停止所有正在运行的容器: ``` $ docker stop $(docker ps -q) ``` 5. 删除容器 可以使用以下命令删除容器: ``` $ docker rm container_id ``` 例如,删除容器 ID 为 123 的容器: ``` $ docker rm 123 ``` 可以使用以下命令删除所有容器: ``` $ docker rm $(docker ps -aq) ``` 6. 删除镜像 可以使用以下命令删除镜像: ``` $ docker rmi image_name ``` 例如,删除 Ubuntu 镜像: ``` $ docker rmi ubuntu ``` 可以使用以下命令删除所有镜像: ``` $ docker rmi $(docker images -q) ``` 以上是 Docker 的基本安装使用方法,更多高级用法可以参考 Docker 官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值