2 Docker安装及使用

注意,若在虚机中安装docker,可首先关闭防火墙,避免出现未知问题
安装
若已安装docker版本过低,可通过以下命令,列出包含docker字段的软件的信息

# rpm -qa | grep docker 

使用yum remove卸载软件

# yum remove docker-1.13.1-53.git774336d.el7.centos.x86_64 
# yum remove docker-client-1.13.1-53.git774336d.el7.centos.x86_64 
# yum remove docker-common-1.13.1-53.git774336d.el7.centos.x86_64

使用curl升级到最新版

# curl -fsSL https://get.docker.com/ | sh

启动Docker

systemctl start docker

查看docker版本

docker version

docker镜像加速

vim /etc/docker/daemon.json

添加如下内容

{
"insecure-registries":["192.168.157.65:8888"],
 "registry-mirrors": ["https://v4z55rzu.mirror.aliyuncs.com"]
}

使用

(1)docker 常用命令

docker pull openjdk
docker run openjdk:latest java -version
docker rmi {imageName} 删除镜像
docker rm {containName} 删除容器
docker-compose up -d 
docker exec -it ${container} redis-cli -h 127.0.0.1 -p 6379 查看容器是否启动正常

docker ps -a 查看历史启动容器
docker rm -f {容器ID} 强制删除容器

查看指定时间后的日志,只显示最后100行:

$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

查看最近30分钟的日志:

$ docker logs --since 30m CONTAINER_ID

查看某时间之后的日志:

$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID

查看某时间段日志:

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

(2)idea配置docker-Integration(注意关闭防火墙)

教程地址:https://my.oschina.net/wuweixiang/blog/2874064
Docker开启远程访问

[root@izwz9eftauv7x69f5jvi96z docker]# vim /usr/lib/systemd/system/docker.service

#修改ExecStart这行

ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock

#重新加载配置文件

[root@izwz9eftauv7x69f5jvi96z docker]# systemctl daemon-reload    

#重启服务

[root@izwz9eftauv7x69f5jvi96z docker]# systemctl restart docker.service 

#查看端口是否开启

[root@izwz9eftauv7x69f5jvi96z docker]# netstat -nlpt

#直接curl看是否生效

[root@izwz9eftauv7x69f5jvi96z docker]# curl http://127.0.0.1:2375/info

(3)解决本地navicat连不上docker中的mysql,本地navicat连接报错client does not support authentication,并解决乱码

docker exec -it {容器ID} sh
mysql -u root -p 
use mysql; 
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;

用于解决乱码

SET NAMES 'utf8';

(4)Docker容器安装应用

docker ps
docker exec -it 容器id /bin/bash
apt-get update
apt-get install vim

(5)docker-compose 使用

version: "2"
services:
  eurekaserver1:      # 默认情况下,其他服务可以使用服务名称连接到该服务。因此,对于peer2的节点,它需要连接http://peer1:8761/eureka/,因此需要配置该服务的名称是peer1。
    image: eureka:1.0
    ports:
      - "7900:8900"
    environment:
      - spring.profiles.active=test_ha_1
  eurekaserver2:
    image: eureka:1.0
    ports:
      - "7800:8900"
    environment:
      - spring.profiles.active=test_ha_2
  redis:
    image: redis
    ports:
      - "6379:6379"
  mysql:
    container_name: mysql
    image: mysql
    volumes:
      - ./mysql:/var/lib/mysql
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=412826
    restart: always

运行命令: docker-compose up -d

你可能感兴趣的:(k8s,docker)