liujijiang

docker

2020.02.02

docker命令

  • Linux安装: yum install docker
    systemctl start docker

  • mac 安装: brew cask install docker

  • 开机自启动: systemctl enable docker

  • 更改镜像源: 或者用阿里云镜像容器加速
    mac: ~/.docker/daemon.json
    linux: /etc/docker/daemon.json
    {
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }

  • 查找:docker search xxx

  • 拉取:docker pull xxx

  • 查看本地镜像: docker images

  • 删除docker容器中的镜像 : docker rmi 镜像

  • 运行镜像产生容器: docker run --name 自己起一个名字 -d(代表后台运行) -p 主机端口:容器端口 镜像名

  • 查看正在运行的容器: docker ps

  • 查看所有的容器: docker ps -a

  • 停止正在运行的容器: docker stop 容器名字(或者容器运行ID)

  • 启动停止的容器: docker start 容器ID

  • 删除停止的容器: docker rm 容器ID

  • 查看容器运行日志: docker logs 容器ID

  • 运行mysql容器时需要指定root密码: docker run -d -e -p 需要端口映射 3306

  • 使用docker部署halo:sudo docker pull ruibaby/halo
    docker run --rm -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo ruibaby/halo

  • Docker: 删除 docker rmi ID号

  • 开启一个服务:docker run

  • mysql

  • docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

centos 装java

  • yum -y install java-1.8.0-openjdk*
  • vim /etc/profile
    添加一下内容
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
    export PATH=$PATH:$JAVA_HOME/bin
  • source /etc/profile
  • java -version

Docker密码启动Redis

docker run -d -p 6379:6379 --name my-redis redis --requirepass "password"

Docker中部署java项目

  • 将java项目打包

  • 编写dockerfile文件

FROM java:8
VOLUME /tmp
ADD onlineprinter-0.0.1.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

  1. FROM: 拉取jdk1.8
  2. ADD:替换jar包名字
  3. ENTRYPOINT:容器运行后执行的命令
  • 把jar包和Dockerfile放在同一目录下

  • 在此目录下打开终端

docker build -t demo .
  • 查看docker镜像
docker images
  • 运行镜像生成容器
docker run -d --name demo -p 8080:8080 demo
  • 容器运行