添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

一、本地使用idea的maven工程

1.先使用maven clean
2.maven package
3.在目录target下找到docker文件下的工程文件,将文件放到编译服务器任意的目录下,开始打包docker镜像

二、准备dockerfile

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

dockerfile 命令详解 ( dockerfile

FROM base_images
ADD ./target/xxx.jar  ./xxx.jar
RUN echo "Asia/Shanghai" > /etc/timezone
ENTRYPOINT  ["java","-jar","-Dspring.config.location=/xxx.yaml","/xxx.jar"]

本dockerfile简单解释:
1.FROM
定制的镜像都是基于 FROM 的镜像,这里的 base_images就是定制需要的基础镜像。
2.ADD 同 COPY
将从上下文目录中复制文件或者目录到容器里指定路径
3.RUN
RUN:用于执行后面跟着的命令行命令
4.ENTRYPOINT
用于运行程序,但其不会被 docker run 的命令行参数指定的指令所覆盖,而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序。

三、准备docker build shell脚本

# --no-cache:创建镜像的过程不使用缓存
# --tag, -t:镜像的名字及标签,通常name:tag 或者name格式,可以在一次构建中为一个镜像设置多个标签。
# -f 指定了dockerfile文件的目录
docker build --no-cache -t  xx/aa:1.0 -f ./DOCKERFILE ./

四、打包镜像保存镜像

执行docker build shell脚本,镜像生成,并将镜像保存到本地

# docker images 列出本地镜像
docker images | grep  aa
# 查到本地镜像后,将本地镜像保存成tar文件
docker save -o /home/aa.tar  xx/aa:1.0

然后将本地/home/aa.tar镜像scp到需要替换的环境

五、替换镜像

#docker load load镜像
docker load -i aa.tar
# docker tag 标记本地镜像,将其归为某一仓库
# docker tag tag前的版本号  tag后的版本号
docker tag xx/aa:1.0  after/aa:1.0
# 对于没有版本号的镜像可以使用images ID号来标记
# docker tag 1288383jk31 after/aa:1.0
# docker push 将本地的镜像上传到镜像仓亏,要先登录到镜像仓库
docker push after/aa:1.0
# docker pull 从远程镜像仓库中拉取更新指定镜像
# 找到k8s资源yaml文件
kubectl delete -f  xx-service.yaml
kubectl create -f xx-service.yaml
kubectl delete -f xx-deploy.yaml
kubectl create -f xx-deploy.yaml
# 查看替换之后的pod即可,pod已经拉取替换之后的镜像
kubectl get pod -n ns

以上即为替换镜像的具体流程,仅此记录。

一、本地使用idea的maven工程1.先使用maven clean2.maven package3.在目录target下找到docker文件下的工程文件,将文件放到编译服务器任意的目录下,开始打包docker镜像二、准备dockerfileDockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。dockerfile 命令详解 (dockerfile )FROM base_imagesADD ./target/xxx.jar ./xxx.jarR docker cp cesManager.jar df35955de68c:/cesManager.jar #重启镜像 docker-compose restart ces-manager docker-compose restart ces-nginx #查看服务是否启动 后续在持续更新… 运行镜像,创建一个新容器。 ID=$(docker run -d -p 2222:22 gitolite) 运行一个临时容器,挂载先前容器的卷,以便我们可以执行最终的初始化步骤。 请务必将 username.pub 中的“用户名”替换为您想要使用的实际用户名。 docker run -i -t -rm -volumes-from=$ID gitolite /bin/bash su - git cat > username.pub 粘贴公钥,必要时添加换行符,然后按 CTRL-D。 gl-setup username.pub 这将生成加载了 gitolite 配置文件的 Vim。
万事俱备,只欠HelloWorld。 一、替换默认Docker register源 由于默认的docker镜像仓库是在国外,访问不便,因此为了便于实际使用,咱们需要先将镜像仓库源替换为国内仓库源,这里我使用的阿里云的docker镜像仓库源。 进入目录/etc/docker/,如果存在daemon.json文件时,直接将如下内容增加到文件中。如果不存在daemon.json文件,创建文件,并将如下内容增加到文件中。创建完成的文件需要为其赋予权限,这里我就简单的设置了chmod 777 /etc/docker/daemon.json。 registry-mirrors: [https:
docker exec -it 容器ID /bin/bash docker里面没有vim,需要自行安装,安装代码如下所示。不过不推荐这种形式,因为里边的文件是临时的,容器被删除之后,配置就失效了,需要从新配置。 apt-get update apt-get install vim 2、通过docker cp拷贝进行修改 可以通过下面的代码将需要修改的文件拷贝出来,修改完成之后再拷贝回去。 #将容器中的文件拷贝出来 sudo docker cp 容器I 一个运行phpLDAPadmin的docker镜像。 通过将ldap.example.com替换为ldap主机或IP来运行phpLDAPadmin docker映像: docker run -p 6443:443 \ --env PHPLDAPADMIN_LDAP_HOSTS=ldap.example.com \ --detach osixia/phpldapadmin:0.9.0 就是这样:)您可以在上访问phpLDAPadmin
记录Docker容器转镜像 1.默认镜像中安装wget Docker镜像可以通过Dockerfile构建出来,也可以通过现有容器生成新的镜像。这里记录一次基于centos镜像的修改版本的生成过程。 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat latest b0e0b0a92cf9 6 weeks ago 680MB nginx latest
docker镜像中配置文件的修改 需要修改docker里面的配置文件时,因为docker镜像里面没有vim,下载也比较麻烦,可以使用 docker cp docker镜像名:想要修改的文件的路径 想要复制到的路径 将镜像中的文件复制到镜像外部,然后使用系统的vim修改,修改后再把文件复制回去。 例如:docker cp zookeeper-server:/etc ~/tmp 注意:修改完cp回镜像的时候可能会失败,原因可能是该文件正在被使用 可以先把该docker镜像服务停止,再把文件cp回去,重启
- `--name` 指定容器的名称为mysql(可以自定义) - `-p` 指定端口映射,将容器的3306端口映射到主机的3306端口 - `-e` 指定mysql的root用户的密码为`root` - `-d` 指定容器在后台运行 3. 进入mysql容器的交互式终端: docker exec -it mysql bash 4. 进入mysql命令行: mysql -u root -p 然后输入`root`作为密码即可 5. 创建一个新的数据库: create database testdb; 6. 创建一个新的用户并授权: create user 'testuser'@'%' identified by 'password'; grant all privileges on testdb.* to 'testuser'@'%'; 这里`testuser`和`password`可以根据实际需求替换为其他用户名和密码。`%`代表可以从任何主机连接到mysql数据库。 7. 退出mysql命令行: exit; 8. 退出容器的交互式终端: exit; 至此已创建了一个mysql的docker镜像,并创建了一个新的数据库和用户。