
Docker学习笔记
Docker
是一个开源的应用容器引擎,基于 Go
语言 并遵从Apache2.0
协议开源。Docker
可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux
机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
最近用Docker的次数越多了 在此记录一下常用的命令
安装Docker
1 2 3 4 5 6 7 8 9 10
| curl -sSL https://get.docker.com/ | sh
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on
|
开机自启
1 2 3 4
| systemctl start docker
systemctl enable docker
|
更换镜像源
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors" : [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://cr.console.aliyun.com", "https://mirror.ccs.tencentyun.com" ] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
此时可以看到 registry-mirrors 变成了阿里云的镜像源 docker info
|
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| docker -v
docker pull 镜像名/ID
docker search 镜像名/ID
docker run -d -p 2333:80 镜像名或镜像ID --name="my"
docker stop 容器名/ID
docker rm 容器名/ID
docker start 容器名/ID
docker restart 容器名/ID
docker ps
docker exec -it 容器名/ID bash
docker rmi $(docker images -q)
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker start $(docker ps -a -q)
docker rmi `docker images | grep 容器名 | awk '{print $3}'`
docker rm `docker ps -a | grep 容器名 | awk '{print $1}'`
|
安装Docker compose
以前都是用pip进行安装,但是每次都会踩坑,还是用下面的方法比较方便。
1 2 3 4 5 6 7 8
| curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
|
yml文件编写
1 2 3 4 5 6 7 8
| version: '2' services: php: image: php:7.2-apache volumes: - ./www:/var/www/html ports: - "8080:80"
|