Bootstrap

Liunx下创建Docker镜像

docker安装

https://blog.csdn.net/chijiansong/article/details/122324750?spm=1001.2014.3001.5501

其他docker常用命令

https://www.cnblogs.com/DeepInThought/p/10896790.html

docker文档 https://www.runoob.com/docker/docker-dockerfile.html

创建自己的镜像

mkdir Dockerfile创建
rm -rf Dockerfile删除
cd 到Dockerfile目录
vim Dockerfile 

先设置文件写入权限

chmod 777 Dockerfile 

进入vim 中 如果是命令模式按i是进入编辑模式   底下会有INSERT出现

否则你按d的话会删除掉信息 命令模式下d就是删除

Linux学习:vim编辑器的三种模式及常见命令_vim怎么进入编辑模式_Cosmicsea的博客-CSDN博客

FROM nginx
RUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html

编辑完按esc键  左下角有个Insert插入状态消失


:x  回车退出编辑

linux vi 报错 E37: No write since last change (add to override)

用 vi 命令编辑文本文件,没有文件写入权限的时候会报这个错。:q :wq 怎么都不能退出。
这时只需 ctrl+z 即可,或者在退出命令后加 ! 忽略提示 :q!

构建镜像

 docker build -t nginx:chijs .  注意有个点.

运行 docker run -d -p 93:80 nginx:chijs    宿主机的93端口跟ng的80端口映射
docker ps 查看运行的容器   docker images 查看已有镜像

浏览访问ng
curl http://localhost:93

docker exec -it 40e8e13f3ddc /bin/bash  进入容器

exit 退出 

docker inspect 40e8e13f3ddc 查看容器

docker rmi -f  fc5ef9651d28  删除镜像   -f强制删除

创建应用镜像

创建一个应用文件夹app 

编辑Dockerfile

把jar包丢到app文件下目录下

 

From java:8
ADD demo-0.0.1-SNAPSHOT.jar /app.jar
EXPOSE 8761
ENTRYPOINT ["java","-jar","/app.jar"]

docker build -t demo:chijs .   构建镜像

docker run  -p 94:8085 demo:chijs  允许容器

访问

将宿主机的mysql文件复制到mysql容器中 

docker cp storedb2.sql mysql-test:/opt   mysql-test 容器名称   放到容器opt文件夹下

在容器中执行mysql 创建数据库、使用数据库导入命令

source /opt/dump.sql;    执行导入命令

连接docker redis 命令 docker exec -it c723cbf96617 redis-cli

docker如何复制文件到容器中

从主机复制到容器
sudo docker cp host_path containerID:container_path
从容器复制到主机
 sudo docker cp containerID:container_path host_path
 实例:
 docker cp /mnt/webdemo.war a2f2091:/usr/local/tomcat/webapps

重启容器  docker restart 9b8b5d92dd46

COPY button.war /usr/local/tomcat/webapps  把war包拷贝到容器webapps底下 

;