mac docker 操作

从Docker Hub查找所有镜像名包
docker search tomcat

收藏数大于10的镜像
docker search -s 10 tomcat

从Docker Hub下载tomcat最新版镜像
docker pull tomcat

创建本地java镜像
 vi dockerfile

FROM tomcat
COPY yi-spring-boot-1.0.0-SNAPSHOT.jar /usr/local/tomcat/webapps/

 
构建: docker build -t tang .

查看本地镜像列表
docker images

删除本地镜像
docker rmi
镜像id(或镜像REPOSITORY)

删除虚悬镜像
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

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

nginx.conf配置文件在 /etc/nginx/  下面,但是你使用vim nginx.conf 或者vi nginx.conf
会发现vi或者vim命令没有用,解决办法:apt-get  update  完成之后 apt-get install vim
此时你就可以自己定制nginx.con文件了,改好配置文件之后重启容器,步骤,先把容器停了
docker stop nginx  然后重启 docker start nginx

启动的容器创建新的镜像:docker commit
docker commit -a "anil" -m "" 919bdeb0b343 mysql:b1

容器项目更新

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解压目录, 解压打包文件: unzip dist.zip


2、终端进入目录,执行清除命令 ./docker-clear.sh。

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、运行浏览器访问。

原文地址:https://www.cnblogs.com/pxuan/p/13289348.html