Docker入门

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

转载于:https://my.oschina.net/u/2336761/blog/1548231

### Docker入门教程 #### 什么是DockerDocker是一种用于开发、交付和运行应用程序的开源平台,它通过容器化技术简化了软件部署的过程。简单来说,Docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔一样,几乎任何程序都可以被放置在Docker中并进行隔离运行[^1]。 #### 安装与验证 为了确保Docker环境已经正确安装,在终端执行`docker run hello-world`命令。如果能够正常运行并返回`hello, world`消息,则表明Docker已成功配置[^2]。 #### 常用命令概述 以下是几个常用的Docker命令及其功能: - **帮助启动类** - `systemctl start docker`: 启动Docker服务。 - `systemctl stop docker`: 停止Docker服务。 - `systemctl restart docker`: 重启Docker服务。 - `systemctl status docker`: 查看Docker服务的状态。 - `systemctl enable docker`: 设置开机自启Docker服务。 - **查看信息类** - `docker info`: 显示Docker系统的整体信息。 - `docker --help`: 展示Docker的整体帮助文档。 - `docker 具体命令 --help`: 获取特定Docker子命令的帮助文档。 - **镜像管理类** - `docker images [-a|-q]`: 列出本地存储的所有镜像;加上参数-a可列出所有历史版本,加-q仅显示镜像ID。 - `docker search [某镜像名[--limit N]]`: 搜索公共仓库中的指定镜像,并可通过--limit控制结果数量。 - `docker pull [镜像名[:TAG]]`: 下载远程镜像至本地,默认不带标签则拉取最新版。 - `docker system df`: 统计镜像、容器以及数据卷占用空间情况。 - `docker rmi -f [镜像ID|镜像名[:TAG]|$(docker images -qa)]`: 删除一个或多个镜像,支持批量删除全部镜像。 - **容器操作类** - 创建并进入交互模式容器: ```bash docker run -it ubuntu bash ``` 这条指令基于Ubuntu基础镜像创建一个新的容器实例,并开启了一个交互式的Bash Shell供用户直接操控该容器内部环境[^3]。 --- #### 实践案例——构建第一个容器 假设我们希望尝试使用官方提供的Redis数据库作为例子来熟悉整个流程: 1. 使用`docker search redis`查找可用的Redis镜像; 2. 执行`docker pull redis:latest`获取最新的稳定版本; 3. 接着利用下面这条语句建立关联端口映射后的实际运行态容器: ```bash docker run -d -p 6379:6379 --name myredis redis:latest ``` 以上步骤展示了如何从零开始搭建属于自己的小型缓存服务器! --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值