【Linux】【docker】docker及docker-compose安装
安装
一、 docker安装
Centos
安装docker18.03
- wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
- yum install -y docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
- systemctl start docker
安装docker-compose
- curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- sudo chmod +x /usr/local/bin/docker-compose
或者通过pip安装
- pip install docker-compose
ubuntu
由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
$ sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt包索引:
$ sudo apt-get update
安装以下包以使apt可以通过HTTPS使用存储库(repository):
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker官方的GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用下面的命令来设置stable存储库:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
再更新一下apt包索引:
$ sudo apt-get update
安装最新版本的Docker CE:
$ sudo apt-get install -y docker-ce
二 、镜像命令
1. docker images
- 查看本地已经拥有的镜像
2. docker pull 镜像名
- 下载镜像
3. docker rmi 镜像id/镜像名
- 删除镜像(多个)
4. docker commit
- 用运行的容器创建镜像
- 参数: -a 作者 -m '注解' 容器名(id) 镜像名:镜像版本号
5. docker push 镜像名:镜像版本号
- 上传镜像
三 、容器命令
1. docker ps
查看运行中的容器
2. docker ps -a
查看所有容器
3. docker rm 容器id
删除容器
4. docker stop 容器id
停止容器
5. docker start 容器id
启动容器
6. docker restart 容器id
重启容器
7. docker run
创建并启动容器
- -it 启动交互终端(结尾需要驾驶 /bin/bash)
- -d 后台启动
- -p 80:8080 端口映射80为宿主端口,8080为容器端口
-- name=blog 容器命名
8. control+p+q
退出容器并保持容器运行(终止容器退出命令为exit)
9. docker exec -it 容器名或者容器的id /bin/bash
进入正在运行的容器
10. docker cp
- 宿主机到容器
# 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
docker cp /www/runoob 96f7f14e99ab:/www
- 容器到宿主机
# 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
四、 Dockerfile
1. Dockerfile文件
# 指定基础镜像文件
FROM ubuntu:latest
# 指定维护者信息
MAINTAINER wanghaifei
# 将代码copy到容器中。如 ADD ./blog /blog 表示将和dockerfile文件同级的blog代码copy到容器的根路径/blog中
ADD 和dockerfile文件相对的项目地址 拷贝到容器中的项目地址
# 指定工作目录
WORKDIR /blog
# 复制
COPY 地址 新地址
# 执行更新命令
RUN apt update
# 创建项目地址的日志文件或者媒体文件等
RUN mkdir -p /日志logs地址
RUN mkdir -p /媒体media地址
# 指定开放端口
EXPOSE 8000
# 在容器启动时执行命令
ENTRYPOINT ["python"]
CMD ["manage.py", "runserver", "0.0.0.0:8000"]
2. 生成镜像
docker build -t 镜像名
. (注意最后有个点用来表示当前目录,初次构建速度会比较慢,需要多等一会。)