Docker篇1

本文介绍了Docker的安装步骤及常用的基本操作命令,包括创建组与用户、启动与停止容器等,适合初学者快速上手。

root创建组

#groupadd docker

root创建用户

#useradd -g docker docker

root修改用户密码

#passwd docker

password: docker

切换用户

#su docker 

检查内核版本

$ uname -r

root用户登录,确保yum是最新的

$ yum update

安装 Docker

$ yum install -y docker-engine  

安装失败用下面的或者

$ yum install docker-io -y

查看安装成功与否

$ docker -v

启动docker

service docker start

设置开机启动

chkconfig docker on

导入本地的镜像

docker load -i  test_for_start.tar

生成一个 centos 镜像为模板的容器并使用 bash shell

docker run -it centos /bin/bash

这个时候可以看到命令行的前端已经变成了 [root@(一串 hash Id)] 的形式, 这说明我们已经成功进入了 CentOS 容器。

创建文件夹

mkdir -p /data/simple_docker

查看所有的容器信息, 能获取容器的id

docker ps -a

删除容器

docker rmi containner id

终止

docker stop containerid

我们不能删除一个正在运行的容器,必须先docker stop或者docker kill后我们才能删除

docker rm containerid

关闭docker服务是:

service docker stop 

systemctl stop docker 

进入终端

docker attach goofy_almeida 

查看所有镜像

docker images

检查某镜像信息

docker inspect docker.io/centos

3438030b3c30

创建容器

docker create -it docker.io/centos

查看容器进程

docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e5bf5eb454f2 docker.io/centos "/bin/bash" 7 seconds ago Created mystifying_goldberg

启动容器

docker start e5bf5eb454f2

创建并exit

docker run docker.io/centos /bin/bash

需要重新启动

导出 docker export -o test_for_run.tar 8b589d90b184 docker export e5bf5eb454f2 > test_for_stop.tar

docker hub https://hub.docker.com/

docker 自动创建功能,允许用户通过docker hub 制定跟踪一个目标网站(GitHub, BitBucket)上的项目,一旦项目发生新的提交,则自动执行创建 配置自动创建:

  1. 创建并登陆Docker Hub,以及目标网站; 在目标网站中连接账户到Docker hub;
  2. 在docker hub中配置一个 自动创建
  3. 选取一个目标网站中的项目和分支;
  4. 指定dockerfile的位置,并提交创建

之后,可以在docker hub的自动创建页面中跟踪每次创建的状态

转载于:https://my.oschina.net/u/2611678/blog/1805605

<think>好的,用户的问题是关于如何通过编译泰山源码来创建Docker容器。首先,我需要明确“泰山”具体指的是什么,可能是一个项目或者软件,但根据用户提供的引用内容,看起来可能和Android源码编译有关,因为引用[1]提到了Android8.0的Docker编译步骤。不过用户提到的是“泰山”,这可能是一个特定的项目名称,需要进一步确认。但根据现有信息,我会假设用户想将某个源码(比如Android)在Docker容器中编译,并创建镜像。 首先,用户提供的引用[1]中的命令是创建一个Docker容器,挂载主机目录到容器中,并进入bash环境。这可能用于在容器内编译源码。而引用[2]则是使用Maven和Jib插件构建Docker镜像的例子。用户可能希望结合这些步骤,将源码编译和容器创建整合起来。 接下来,我需要整理步骤:首先准备Docker环境,包括安装Docker和编写Dockerfile。然后挂载源码目录到容器中,进行编译。最后,将编译后的结果打包成镜像。可能需要分阶段构建,比如使用多阶段Dockerfile来减少镜像大小。 需要注意的是,用户提到的“泰山”可能需要特定的编译环境,比如Java、Maven或其他依赖项,因此在Dockerfile中需要安装这些工具。同时,用户可能希望将编译后的应用打包成镜像,以便部署,这时候可以使用类似Jib的工具,或者手动复制构建产物到镜像中。 可能的疑问点:用户是否已经拥有泰山的源码,以及具体的编译步骤是什么?由于信息有限,可能需要假设通用的步骤,比如使用Maven编译Java项目,然后构建Docker镜像。此外,用户可能希望优化镜像大小,使用多阶段构建,或者在编译过程中缓存依赖项以提高效率。 最后,根据用户提供的引用,引用[1]中的命令使用了-v参数挂载目录,这可能用于在容器内访问源码。而引用[2]展示了使用Jib插件直接构建镜像,无需Dockerfile。因此,可能需要提供两种方法:一种是基于挂载源码并在容器内编译,另一种是使用构建工具直接生成镜像。</think>### 通过泰山源码编译创建Docker容器的分步指南 #### 一、环境准备 1. **安装Docker** ```bash curl -fsSL https://get.docker.com | bash -s docker ``` 验证安装:`docker --version` 2. **创建源码目录** ```bash mkdir -p /mnt/taishan/src && cd /mnt/taishan ``` #### 二、创建Docker编译环境 1. **编写Dockerfile** ```dockerfile FROM ubuntu:20.04 RUN apt-get update && \ apt-get install -y build-essential git openjdk-11-jdk maven WORKDIR /app ``` > 说明:根据泰山实际需求调整基础镜像和依赖项[^1] 2. **构建基础镜像** ```bash docker build -t taishan-builder . ``` #### 三、挂载源码与编译 1. **启动交互式容器** ```bash docker run -v /mnt/taishan/src:/app/src -it taishan-builder /bin/bash ``` 2. **容器内编译操作** ```bash cd /app/src mvn clean package # 假设使用Maven构建 ``` #### 四、构建生产镜像(多阶段构建) ```dockerfile # 阶段1:构建环境 FROM taishan-builder as builder COPY . /app/src RUN cd /app/src && mvn package # 阶段2:运行时环境 FROM openjdk:11-jre-slim COPY --from=builder /app/src/target/*.jar /app/taishan.jar EXPOSE 8080 CMD ["java", "-jar", "/app/taishan.jar"] ``` #### 五、自动化构建(Jib插件方案) 在Maven项目中添加配置: ```xml <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>3.2.1</version> <configuration> <to> <image>taishan-image</image> </to> </configuration> </plugin> ``` 执行构建: ```bash mvn compile jib:dockerBuild # 直接生成Docker镜像[^2] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值