docker的使用和基本命令

1.对docker的理解

  1. docker是世界领先的软件容器平台。
  2. docker技术属于操作系统层面的虚拟化技术。
  3. 容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

2.为什么要用docker

  • 一致的运行环境:docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,即保证了开发、测试、生产环境的一致性。
  • 迁移方便:可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上。
  • 持续交付和部署:使用Docker可以通过定制应用镜像来实现持续集成、持续交付、部署。
  • 隔离啊、快速启动等…

3.docker常用命令整理

3.1 docker的启动、停止、重启

service docker start // 启动
service docker stop // 停止
service docker restart // 重启

3.2 docker对镜像的操作

  • docker rmi 镜像名:TAG // 删除镜像名,若有此镜像创建的容器则应先删除容器,才能删除镜像
  • docker images [镜像名] // 不带镜像名则查询所有镜像
  • docker pull ubuntu:18.04 // 获取ubuntu18.04版本的镜像
  • docker search ubuntu // 搜索ubuntu镜像 NAME:镜像仓库源的名称,DESCRIPTION:镜像的描述,OFFICIAL:是否docker官方发布

3.3 docker 对容器的操作

  • docker rm 容器名/容器ID // 删除容器时,容器必须是停止状态
  • docker ps // 查看所有正在运行的容器
  • docker ps -a // 查看所有的容器
  • docker logs -f 容器 ID // 查看容器的标准输出
  • docker exec -it mysql bash // 进入运行的mysql容器
  • docker start 容器名/容器ID // 启动容器(容器名或者ID都行)
  • docker stop 容器名/容器ID // 停止容器
  • docker restart 容器名/容器ID // 重启正在运行的容器
  • docker pull ubuntu:18.04 // 获取ubuntu18.04版本的镜像
  • docker search ubuntu // 搜索ubuntu镜像 NAME:镜像仓库源的名称,DESCRIPTION:镜像的描述,OFFICIAL:是否docker官方发布

4 创建镜像

当我们从docker镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

  1. 从已经创建的容器中更新镜像,并且提交这个镜像
  2. 使用 Dockerfile 指令来创建一个新的镜像

4.1 更新镜像

更新镜像前,需要先使用镜像创建一个容器
root@lr-pc:~$ docker run -t -i ubuntu:15.10 /bin/bash
[root@f52630641520 /]#
按照需要对容器更改后,输入exit 退出容器,然后通过docker commit提交容器副本,以此来保存。
root@lr-pc:~$ docker commit -m=“has update” -a=“lirong” f52630641520 lr/ubuntu:v2
sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8

-m:更新说明,-a:作者信息, f52630641520 :容器ID

4.2 Dockerfile构建新镜像

# Docker image for build file run
# VERSION 0.0.1
# Author: Janche
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER Janche <[email protected]>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD demo.jar app.jar 
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
# 指定容器需要映射到主机的端口
EXPOSE 8080

最后在Dockerfile文件所在目录下运行构建命令:

docker image build -t 镜像名 . // 镜像名自己起,注意最后有一个点

5. 创建容器

5.1简单命令:

docker run -i -t ubuntu:15.10 /bin/bash

-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。

5.2部署项目时常用的命令

docker container run --rm -d -p 8081:8080 --name demo --link mysql:db demo-web

-d: 在后台运行。
-p: 主机端口映射到容器端口。
--rm: 容器停止后删除此容器。
--name: 为容器起的别名。
--link: 连接其他的容器服务,db是为mysql容器起的别名,若是mysql服务的话,此别名一定得和代码中的数据库IP一致,即将jdbc:mysql://localhost:3306/data改为jdbc:mysql://db:3306/data

参考:docker菜鸟教程docker究竟有什么优势

猜你喜欢

转载自blog.csdn.net/qq_34997906/article/details/83002327