博学笃行·盛德日新

Docker入门_1


技术 docker

一、docker安装并使用阿里云的镜像

CentOS 7 (使用yum进行安装)

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce

# Step 4: 开启Docker服务
sudo service docker start

二、概念

镜像

镜像是一个可执行的包,它包含运行应用程序所需的所有内容——代码、运行时、库、环境变量和配置文件。镜像的内容不可变更,是一个read-only的系统。

容器

容器相当于镜像的一个实例,是一个read-write的系统。通过运行镜像来启动运行容器。

仓库

仓库就是镜像打包存储的地方。

三、Dockerfile

Dockerfile定义了容器内的环境。对网络接口和磁盘驱动器等资源的访问是在这个环境中虚拟化的,这个环境与系统的其他部分是隔离的,所以您需要将端口映射到外部世界,并且要具体说明您想要将哪些文件“复制”到该环境中。 但是,在这样做之后,您可以预期,在这个Dockerfile中定义的应用程序的构建无论在何处运行,其行为都是完全相同的。

默认情况下,容器可以主动访问到外部网络的连接,但是外部网络无法访问到容器。

RUN命令与CMD命令的区别在哪里?

简单说,RUN命令在 image 文件的构建阶段执行,执行结果都会打包进入 image 文件;CMD命令则是在容器启动后执行。另外,一个 Dockerfile 可以包含多个RUN命令,但是只能有一个CMD命令。 注意,指定了CMD命令以后,docker container run命令就不能附加命令了(比如前面的/bin/bash),否则它会覆盖CMD命令。

发布镜像

  • 先登录docker docker login
  • 标签是可选的 docker tag image username/repository:tag 例如:docker tag friendlyhello gordon/get-started:part2
  • 发布镜像 docker push username/repository:tag

四、DockerCompose

  • volumes的作用有点类似于VMware里面的共享目录,用于将物理主机里的目录映射到docker虚拟机里 其中 volumes:     - $PWD/:/test_pwd 表示将物理机的当前目录映射到docker虚拟机/test_pwd里面。

指令集合(https://cloud.tencent.com/developer/section/1091984)

五、相关docker命令

启动docker

service docker start

Display Docker version and info  显示docker的版本和信息

docker --version
docker version
docker info

Execute Docker image  执行docker镜像

docker run hello-world

List Docker images   docker镜像列表

docker image ls

List Docker containers (running, all, all in quiet mode)  docker容器列表

docker container ls
docker container ls --all
docker container ls -aq

运行镜像

docker run -p 4000:80 username/repository:tag

构建docker镜像

docker build -t friendlyhello .

停止容器

docker container stop  1fa4ab2cf395(CONTAINER ID)

部署应用 部署新的堆栈或更新现有的堆栈

docker stack deploy -c docker-compose.yml mygoweb

查看启动的服务

docker service ps mygoweb

列出服务

docker service ls

评论