mac docker 操作
Debian Docker 安装
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | apt-key add - sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
配置
/etc/docker/daemon.json
Docker 虚拟网络
docker network create XXX-net
从Docker Hub查找所有镜像名包
docker search tomcat
收藏数大于10的镜像
docker search -s 10 tomcat
从Docker Hub下载tomcat最新版镜像
docker pull tomcat
创建本地java镜像
vi dockerfile
1 2 | FROM tomcat COPY yi-spring-boot-1.0.0-SNAPSHOT.jar /usr/local/tomcat/webapps/ |
构建: docker build -t tang .
查看本地镜像列表
docker images
镜像备份成本地文件
docker save -o nginx.tar smallcheck/nginx
删除本地镜像
docker rmi
镜像id(或镜像REPOSITORY)
加载备份的nginx.tar文件
docker load -i nginx.tar
删除虚悬镜像
docker image prune
拷贝文件到容器
docker cp /Users/pengxuan/nginx/conf/test-php.conf 8a6fc28c1a45:/etc/nginx/conf.d/
构建并运行容器:
mysql 运行
sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.16 --lower-case-table-names=1
redis 运行
sudo docker run -i -t -d --name redis -p 6379:6379 redis
tang 运行
docker run -p 8081:8081 --name tang -d 镜像名
docker run -i -t -d --name tang -p 8081:8081 --privileged=true -v /www/wwwroot/tang:/www tang
nginx 运行
docker run -i -t -d --name maps -p 9090:80 --privileged=true -v /opt/maps:/www nginx
sentinel 运行
sudo docker run -p 8858:8858 --name sentinel -d bladex/sentinel-dashboard
查看容器
docker ps 查看所有的容器命:docker ps -a
删除容器,先要停止服务: docker stop 容器ID ,再执行: docker rm 容器ID 也可以一次删除所有停止的容器:docker rm $(docker ps -a -q)
进入到容器可以使用如下命令:
docker container exec -it 容器id /bin/bash
docker exec -it 容器name /bin/bash
或者
docker container exec -it 容器id /bin/sh
如果权限不足
docker exec -it id /bin/bash 改为 docker exec -u 0 -it id /bin/bash
nginx.conf配置文件在 /etc/nginx/ 下面,但是你使用vim nginx.conf 或者vi nginx.conf
会发现vi或者vim命令没有用,解决办法:apt-get update 完成之后 apt-get install -y vim
此时你就可以自己定制nginx.con文件了,改好配置文件之后重启容器,
步骤
1、容器停止: docker stop nginx
2、容器启动: docker start nginx
或直接重启: docker restart nginx
启动的容器创建新的镜像:docker commit
docker commit -a "anil" -m "" 919bdeb0b343 mysql:b1
日志查看命令
docker logs -f 容器ID
实时查看最后500条日志:
docker logs -f --tail=500 容器ID
查看最近30分钟的日志:
docker logs --since 30m 容器ID
查看某时间之后的日志的最新500条日志:
docker logs --since="2021-11-30" --tail=500 容器ID
查看某时间之后的日志:
docker logs -t --since="2021-11-30T00:00:00" 容器ID
查看某时间段日志:
docker logs -t --since="2021-11-30T00:00:00" --until "2021-12-30T00:00:00" 容器ID
xfg容器项目更新
Dockerfile
FROM smallcheck/nginx:1.19.4 VOLUME /tmp ENV LANG en_US.UTF-8 ADD ./dist/ /usr/share/nginx/html/ EXPOSE 80 EXPOSE 443
1、文件打包上传:/home/xfgit/docker/inte-terminal-ui/build-dev, 删除dist解压目录: rm -rf dist , 解压打包文件: unzip dist.zip。
2、终端进入目录,执行清除命令 ./docker-clear.sh。
container=inte-terminal-ui
read -r -p "确认删除容器${container}?[y/n]" input
case $input in
[yY])
docker stop $container
docker rm $container
docker images | grep $container | awk '{print $3}' | xargs docker rmi
exit 1
;;
[nN])
exit 1
;;
*)
echo "无效参数"
;;
esac
3、执行build命令 ./docker-build.sh。
docker build -t 172.16.1.128:8887/inte-terminal/inte-terminal-ui:1.0.1 .
4、返回上级目录。执行run命令 ./docker-run.sh。
docker run -d \ --restart always \ -p 5888:80 \ -p 5443:443 \ -v /home/xfgit/docker/inte-terminal-ui/nginx.conf:/etc/nginx/nginx.conf \ -v /home/xfgit/docker/inte-terminal-ui/logs:/var/log/nginx \ --name inte-terminal-ui \ 172.16.1.128:8887/inte-terminal/inte-terminal-ui:1.0.1
5、运行浏览器访问。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律