Docker安装与使用

1 yum包更新到最新

sudo yum update

2 安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3 设置阿里云镜像

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4 安装docker

sudo yum install docker-ce

5 设置ustc镜像加速器

[root@VM_0_2_centos ~]# cd /etc
[root@VM_0_2_centos etc]# mkdir docker
[root@VM_0_2_centos etc]# cd docker
[root@VM_0_2_centos docker]# vi daemon.json
添加如下加速器配置
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

6 docker 启动与停止

systemctl start docker 启动
systemctl status docker 查看状态
systemctl stop docker 停止
systemctl restart docker 重启
systemctl enable docker 开机启动
docker info 查看docker概要信息
docker --help

7 镜像命令

查看镜像 docker images
搜索镜像 docker search centos
拉取镜像 docker pull 镜像名称
删除镜像 docker rmi 镜像ID
删除所有镜像 docker rmi docker images -q

8 容器命令

查看容器 docker ps
查看所有的容器,包括已经停止的 docker ps -a
创建容器 docker run
交互式创建容器 docker run -it --name=mycentaos centos:7 /bin/bash
退出容器 exit
守护式方式创建容器 docker run -di --name=mycentos2 centos:7
进入容器 docker exec -it mycentos2 /bin/bash
交互式退出容器后,停止运行,守护式退出容器后,还会一直运行
停止容器 docker stop mycentos2(或者ID)
启动容器 docker start mycentos2(或者ID)
容器拷贝 docker cp 需要拷贝到文件或目录 容器名称:容器目录

示例

  • docker 部署mysql
1 搜索镜像
docker search mysql 
2 拉取
docker pull centos/mysql-57-centos7
3 创建容器 映射到宿主33306端口
docker run -di --name=tensquare_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7
  • docker 部署tomcat
docker pull tomcat
docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat
部署 将war包放到/usr/local/webapps
浏览器打开192.168...:9000/a.war
  • docker部署nginx
docker pull nginx 
docker run -di --name=mynginx -p 80:80 nginx
部署  docker exec -it mynginx /bin/bash
进入docker - nginx
docker exec -it mynginx /bin/bash
退出 docker 
exit

 cd etc
cd nginx
cat nginx.conf
cd conf.d
        root   /usr/share/nginx/html;
将打包后html文件放到/usr/share/nginx

docker cp html mynginx:/usr/share/nginx/

  • docker部署redis
docker pull redis
docker run -di --name=myredis -p 6379:6379 redis

9 docker备份迁移

  • 将容器保存为镜像
    docker commit mynginx mynginx_i
  • 备份
导出 docker save -o mynginx.tar mynginx_i
停止容器 docker stop mynginx2
删除容器 docker rm mynginx2
删除镜像 docker rmi mynginx_i
导入 docker load -i mynginx.tar

10 Dockfile

  • 创建Dockerfile文件
FROM centos:7
MAINTAINER wenjun
WORKDIR /usr
RUN mkdir /usr/local/java
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/bin/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH 
  • 构建镜像
    docker build -t='jdk1.8' .

11 docker私有镜像

docker pull registry
docker run -di --name=myregistry -p 5000:5000 registry

添加信任
vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries":["49.233.211.138:5000"]
}
重启 systemctl restart docker
打标签 docker tag jdk1.8 49.233.211.138:5000/jdk1.8
上传镜像 docker push 49.233.211.138:5000/jdk1.8


持续集成与容器管理

  • maven插件自动部署
修改宿主机的docker配置,让其可以远程访问
vi /lib/systemd/system/docker.service
ExecStart=后添加配置 ‐H tcp://0.0.0.0:2375 ‐H unix:///var/run/docker.sock
刷新配置,重启服务 
systemctl daemon‐reload 
systemctl restart docker 
docker start myregistry





















































































你可能感兴趣的:(Docker安装与使用)