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底下