Docker入门

简介: windows安装dockerwin10企业版对于win10企业版直接下载,https://www.docker.com/docker-windowswin7/win10家庭版安装docker-tollbox,https://www.docker.com/products/docker-toolbox启动点击Docker Quickstart Terminal启动虚拟机,默认分配192.168.99.100IP地址。

windows安装docker

win10企业版

对于win10企业版直接下载,https://www.docker.com/docker-windows

win7/win10家庭版

安装docker-tollbox,https://www.docker.com/products/docker-toolbox

启动

点击Docker Quickstart Terminal启动虚拟机,默认分配192.168.99.100IP地址。

登录

使用ssh登录到该虚拟机,默认的用户名密码是docker/tcuser。

设置阿里云镜像加速

开通加速

去如下地址开通加速,https://cr.console.aliyun.com/#/accelerator

配置镜像

修改/var/lib/boot2docker/profile文件,将--registry-mirror=<your accelerate address>添加到EXTRA_ARGS中。

最后sudo /etc/init.d/docker restart重启Docker服务就可以了。

ps -ef | grep docker查看docker进程信息,如果出现刚配置的--registry-mirror就证明配置成功了。

安装镜像

搜索镜像

#搜索安装了java环境的镜像
docker search java

#搜索安装了redis的镜像
docker search redis

列表中的OFFICIAL [OK]表示是官方提供的镜像

获取镜像

#获取一个最新的jdk9的镜像
docker pull java:9

查看当前下载的镜像

docker images

删除镜像

docker rmi [imageID]

运行容器

sudo docker run -t -i java:9 /bin/bash

-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开。可以通过docker ps查询当前正在运行的容器。

deamon方式运行容器

通过添加 -d 参数来实现。docker logs [container ID or NAMES]查看输出。

终止容器

docker stop [container ID or NAMES]

删除容器

删除一个处于终止状态的容器

docker rm  [container ID or NAMES] 

清理所有处于终止状态的容器

docker rm $(docker ps -a -q)

制作镜像

利用maven的docker插件自动生成镜像

项目的根目录新建docker目录,新建Dockerfile文件:

FROM java:8
VOLUME /tmp
ADD youapp.jar app.jar
ENV JAVA_OPTS=""
ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar

修改pom.xml,增加如下插件:

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>1.0.0</version>
    <configuration>
        <dockerDirectory>${project.basedir}/docker</dockerDirectory>
        <dockerHost>https://192.168.99.100:2376</dockerHost>
        <dockerCertPath>C:\Users\Program Files\.docker\machine\machines\default</dockerCertPath>
        <imageName>[镜像前缀]/${project.artifactId}</imageName>
        <imageTags>
            <imageTag>${project.version}</imageTag>
        </imageTags>
        <resources>
        <resource>
            <targetPath>/</targetPath>
            <directory>${project.build.directory}</directory>
            <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>

执行构建指令

mvn clean package docker:build

成功后通过docker images能查到刚才打包的镜像。

镜像上传阿里云docker仓库

创建阿里云仓库,登录网站https://cr.console.aliyun.com/,创建镜像仓库。新建命名空间,填写项目名最好和maven的project.artifactId保持一致。

配置认证信息,在maven的settings.xml中加入:

<servers>
    <server>
        <id>docker-my</id>
        <username>用户名</username>
        <password>密码</password>
        <configuration>
            <email>邮箱</email>
        </configuration>
    </server>
</servers>

修改pom.xml

#修改imageName
<imageName>registry.cn-qingdao.aliyuncs.com/命名空间/${project.artifactId}</imageName>
#新增serverId,填写Settings.xml里配置的信息
<serverId>docker-my</serverId>

maven指令上传到私有docker仓库

mvn clean package docker:build -DpushImageTag
相关文章
|
4月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
185 2
|
5月前
|
Kubernetes Cloud Native 云计算
云原生入门:从Docker到Kubernetes的旅程
【10月更文挑战第2天】本文将带你走进云原生的世界,从基础的Docker容器技术开始,逐步深入到Kubernetes集群管理。我们将通过实际代码示例,探索如何利用这些工具构建、部署和管理现代云应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和技能,让你在云原生领域迈出坚实的一步。
119 5
|
3月前
|
Ubuntu 应用服务中间件 nginx
docker入门-快速学会docker
本文介绍了Docker的基本概念,包括镜像、容器、tar文件、Dockerfile和仓库,并通过实际操作演示了如何使用Docker。从拉取Nginx镜像、运行容器、修改容器内容、保存容器为新镜像,到使用Dockerfile构建自定义镜像,最后讲解了如何保存和恢复镜像。文中还推荐了一个在线实践平台Play with Docker,方便读者快速上手Docker。
362 5
docker入门-快速学会docker
|
5月前
|
Linux 持续交付 Docker
掌握Docker:从入门到实践
Docker 是一个开源容器引擎,允许开发者将应用及其依赖打包成可移植的容器,在任意 Linux 机器上运行。本文从基本概念入手,详细介绍 Docker 的安装、基本操作、镜像构建及 Docker Compose 的使用,并通过实战案例展示如何部署 Web 应用、构建微服务架构及实现 CI/CD。通过学习,你将掌握 Docker 的核心功能,提升应用开发和部署效率。
|
4月前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
4月前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
4月前
|
运维 持续交付 虚拟化
docker入门详解!!!
本文介绍了容器技术的发展历程,从物理机到虚拟化再到容器化,重点讲解了Docker的诞生及其优势。Docker通过轻量级的容器技术,实现了资源的高效利用、快速启动、环境一致性、持续交付和部署等优点。文章还详细解析了Docker的架构和工作原理,包括Docker Daemon、REST接口、Docker Client等组件,以及容器与虚拟机的差异。
160 2
|
4月前
|
Kubernetes Cloud Native 开发者
云原生技术入门:Kubernetes和Docker的协作之旅
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,引领读者步入云原生的世界,着重介绍Kubernetes和Docker如何携手打造弹性、可扩展的云环境。我们将从基础概念入手,逐步深入到它们在实际场景中的应用,以及如何简化部署和管理过程。文章不仅为初学者提供入门指南,还为有一定基础的开发者提供实践参考,共同探索云原生技术的无限可能。
86 3
|
5月前
|
Ubuntu Shell 开发者
Docker入门:轻松开始容器化之旅
【10月更文挑战第17天】Docker 是一种开源的应用容器引擎,它让开发者能够“一次构建、到处运行”。Docker 通过容器化技术将应用程序及其依赖打包在一起,从而确保应用在任何环境中都能一致地运行。本文将为新手用户提供一个全面的Docker入门指南,包括基本概念、优势、安装配置以及如何创建和管理容器。
169 2
|
5月前
|
存储 运维 云计算
探索Docker容器化:从入门到实践
在这个快速发展的云计算时代,Docker容器化技术正在改变应用的开发、部署和管理方式。本文旨在为初学者提供一个关于Docker的全面入门指南,并通过实践案例展示Docker在实际开发中的应用。我们将一起了解Docker的核心概念、基本操作、网络和存储,以及如何构建和部署一个简单的Web应用。无论你是开发者还是运维人员,本文都会帮助你快速掌握Docker的核心技能。