分布式专题(十一)docker

环境:centos7

 

安装步骤

1.CentOS官方的docker安装步骤(版本可能会有点低)升级到最新版

yum install -y docker

docker version

2.使用在线脚本安装(推荐)

curl -fsSL https://get.docker.com -o get -docker.sh

sudo sh get-docker.sh -- mirror Aliyun

启动

sudo systemctl enable docker  --开机启动docker

systemctl start docker  启动docker
 

docker info  查看docker的信息 

 

建立docker用户组

sudo groupadd docker  #建立用户组

sudo usermod -aG docker $USER   #将当前用户加入docker组

 

docker镜像加速

在/etc/docker/daemon.json写下如下内容

{
 "registry-mirrors":[
        "http://hub-mirror.c.163.com"
  ]
}

重启服务生效

sudo systemctl daemon-reload

sudo systemctl restart docker

docker info   查看是否使用了加速镜像

 

运行第一个docker容器

1.查看有无docker镜像

docker images

2.运行docker容器,如果没有镜像,这个命令会自己去下载镜像

如果遇到net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting head的错误

docker run centos:7 sleep 1000

3.新打开一个linux终端,之前终端会睡眠在Status: Downloaded newer image for docker.io/centos:7,查看系统运行了哪些容器

docker ps

docker ps -a 

4.查看docker容器的目录

docker run -t -i centos:7 ls /

5.运行一个新容器并进入命令行

docker run -t -i centos:7 bash

ls

echo "HELLO WORLD" >test.txt

cat test.txt

ls

exit

6.再创建一个新容器并操作

docker run -t -i centos:7 bash

ls

exit

这时会发现test.txt不见了,运行一个新容器会清空之前容器的内容

 

 

 

创建docker镜像

一、docker commit命令

1.docker ps -a 获取 CONTAINER ID

2.docker commit 807b6df15cd9 huang/centos:1.0    创建docker镜像

3.docker images 查看存在的镜像    

4.docker run -ti huang/centos:1.0 bash

二、docker build 命令(打包容器成为镜像)

1.mkdir demo

2.cd demo

3.echo "hello world" > test1.txt

3.echo "hello boy" > test2.txt

4.vi Dockerfile

FROM centos:7

COPY test1.txt /demo/
COPY test2.txt /demo/

5.docker build -t huang/demo:1.0 .

6.docker images

7.docker run -ti huang/demo:1.0 bash

COPY为docker build的指令,其他docker build指令略

 

定制镜像,运行jar

准备一个war包,上传至服务器宿主机,并在同级目录下创建Dockerfile

touch Dockerfile

vi Dockerfile

执行构建

docker build -t session-web:latest

docker images 查看本地是否有镜像

docker run --name session-web -d -p 8888:8080 session-web:latest  运行容器

上传docker镜像到Docker Hub

 

常见命令

1.docker ps    查看运行的容器

   docker ps -a   查看所有容器

          1.1.docker inspect  a6cf4fb96210    根据ID查看容器的信息

2.docker stop a6cf4fb96210     停止一个容器

3.docker start a6cf4fb96210      启动一个已经存在的容器

4.docker rm -f a6cf4fb96210      删除一个容器

5.docker run -d --name hello_world centos:7 sleep 10     -d后台启动 一个容器并命名

6. docker exec -it a6cf4fb96210  /bin/bash         进入容器

  docker run -it 表示运行容器并进入交互界面,想退出容器可以按Ctrl+P+Q或者输入exit ,退出容器且不停止容器

  docker run -d 表示后台启动容器

7.docker cp /root/1.txt a6cf4fb96210:/usr/local/   从宿主机复制文件到容器,交换顺序则从容器复制文件到宿主机

8.docker search mysql    搜索想要的镜像去下载如:mysql

        https://hub.docker.com/explore/

 

docker安装mysql

1.docker pull mysql

2.启动mysql

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

3.docker exec -it mysql /bin/bash

4.mysql -uroot -p123456

5.ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

 

数据卷

宿主机和容器之间共用一份目录和文件,即使容器被销毁,数据不会丢失

 

方法1: Dockerfile中指定VOLUME后的目录,如 VOLUME /var/lib/test

方法2:docker run 后加 -v,如

    docker run -d -p 8080:8080 --name tomcat1 -v /root/tomcat/webapps:/usr/local/tomcat/webapps tomcat:7

   :左边对应宿主机目录,右边对应容器目录

 

 


附:

 docker stop $(docker ps -q)      停用全部运行中的容器

docker rm $(docker ps -aq)         删除全部容器

docker stop $(docker ps -q) & docker rm $(docker ps -aq)      一条命令实现停用并删除容器

 

docker rmi  【镜像id】   删除镜像


docker启动jenkins的几个问题

原文https://www.centos.bz/2017/11/docker%E4%B8%ADjenkins%E5%AE%B9%E5%99%A8%E5%90%AF%E5%8A%A8%E5%A4%B1%E8%B4%A5/

docker run -p 8080:8080 -p 50000:50000 --name=jenkins -d -v /home/jenkins:/var/jenkins_home -u 0  jenkins

注意加上 -u 0

初始密码查看 cat /home/jenkins/secrets/initialAdminPassword

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值