1、docker安装
apt-get update
1)非社区版:
apt-get install -y docker.io
2)安装社区版:
安装需要的包:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加 GPG 密钥:阿里云源
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
设置选用哪个版本:阿里云源 stable版本
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
添加成功后更新软件包缓存:
apt-get update
先查询有哪些版本:
apt-cache madison docker-ce
安装指定版本的docker-ce社区版:
apt-get install -y docker-ce=17.12.1~ce-0~ubuntu
安装 Docker-ce社区版:最新
apt-get install -y docker-ce
2、docker配置
1)阿里云加速器配置
打开网址
http://cr.console.aliyun.com/
镜像加速器
2)配置镜像加速器到服务器 Ubuntu
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
3、docker基本使用
1)安装mysql
docker pull mysql:5.6
docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
2)镜像 image、容器(container)、仓库(registery)
镜像 image(从hub上拉取)
3)查看
docker version
4)镜像查询
docker image ps
5)拉取
docker pull 镜像名
6)镜像删除
docker rmi 镜像名
7)容器运行
docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
8)端口映射
-p 宿主机机端口:容器端口
docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
9)挂存储卷
-v 宿主机目录:容器目录
docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
10)进入容器
docker exec -it 容器ID /bin/bash
11)查看容器(运行起来的)
docker ps
12)查看容器日志
docker logs -f 容器ID
13)查看容器(包含已经退出的)
docker ps -a
14)设置环境变量
-e 来指定。如下:mysql的 root的密码
docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
可以在docker hub上看。有哪些环境变量
15)容器停止
docker stop 容器ID
16)删除容器
docker rm 容器ID
17)仓库登录
如阿里云
docker login --username=xxx
18)镜像构建
-t 标签名,版本号 -f dockerfile文件所在位置。如果是当前目录可以用.
docker build -t abcd:1.0 -f /root/Dockerfile
docker build -t abcd:1.0 .
19)打tag
docker tag mysql:5.6 myregistry/mymysql:1.0
20)推送
docker push myregistry/mymysql:1.0
4、dockerfile基本语法
from
run
add
workdir
cmd
expose