Docker 介绍、安装及常用命令

一.介绍

1. Docker是什么

1、Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初是dotCloud公司发起。

2、Docker通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。这里应用组件,即可以是Web应用,也可以是一套数据库服务,甚至是一个操作系统或编译器。

3、Docker通俗理解就只需要两句口号:

  • “Build, Ship and Run (搭建、发送、运行)”
  • “Build once,Run anywhere(搭建一次,到处能用)”

2、Docker作用

1、快速搭建重复环境
2、保证开发测试等环境完全相同

3. Docker组成

  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)

二.Docker安装

注意:Linux centOS(版本大于等于7.0)

1. 删除旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

2. 安装必备工具

yum install -y yum-utils device-mapper-persistent-data lvm2

3. 添加Docker源

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

4. 更新yum缓存

yum makecache fast

5. 安装

yum install docker-ce

6. 创建docker用户

创建docker_mananger用户

useradd docker_manager

设置密码

passwd docker_manager  
docker_manager_wkt

7. 配置docker权限

visudo
visudo 是配置用户权限的文件,在命令行中输入 visudo 回车之后,会进入文件操作,找到 “# %wheel ALL=(ALL) NOPASSWD: ALL” 这一行,把前面的 “#” 去掉,保存文件

8. 授权

usermod -aG wheel,docker docker_manager

9. 启动DockerCE

sudo systemctl enable docker
sudo systemctl start docker

查看是否启动成功

docker info

10. 镜像加速

vim /etc/docker/daemon.json

添加以下内容

{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}

通知 systemd 重载此配置文件

systemctl daemon-reload

重启docker服务

systemctl restart docker

三.Docker常用命令

镜像操作
1. 列出本地现有 image
docker image ls

2. 删除 image
docker image rm image_name
3. 下载 image
docker image pull  image_name
容器操作
1. 从 image 生成 container 实例
# 新版本
docker container run image_name

#老版本
docker run image_name
2.关闭一个容器
#通过docker强制关闭contaniner
docker container kill container_ID

#向 container 发送关闭信号,让 container 自己决定如何恰当的关闭
docker container stop container_ID
3. 列出已有的容器
#列出正在运行的容器
docker container ls
#列出全部容器
docker container ls --all

#老版本 列出正在运行的容器
docker ps
#老版本 列出全部容器
docker ps -a       
4. 运行已经存在的容器
docker container start container_ID      
5. 删除容器
docker container rm container_name (或 container_ID) 

#另:在运行 image 产生 container 的时候就加上 --rm 参数,告诉 docker 只要这个 container 一退出,就删除它
docker run -it --rm ...      
6. 从容器中拷贝文件到本机
docker container cp container_ID:path_to_file  host_path    
7. 进入一个正在运行的容器
docker container exec -it container_ID  /bin/bash (或者只写 bash)          
8. 后台运行容器
docker container run  -d  image_name         
9.其他

1. 查看现有的网络

docker network ls

NETWORK ID          NAME                DRIVER              SCOPE
c749b1b83091        bridge              bridge              local
a23ca96b3291        host                host                local
74d0c66e9190        none                null                local

如果在运行 container 时不设定 network,则默认是第一个 bridge network .
此时,如果 container expose 某个 port,例如 8080,则 bridge network 中的其他程序可以通过这个 port 与它通信。
如果 host network 中程序想与它通讯,必须设置一个端口映射 -p 5000:8080,这样所有与 host network 5000 端口通讯的都可以被映射到 container 的 8080 端口。
也可以让 container 直接运行在 host network 中,这就是为什么在很多运行 image 的命令中,都有 --net=host 设置。
这样的话,就可以直接通过 host 的端口进行通讯了,不需要桥接映射。

2. 文件共享
docker run -v ~/shared_files:/home/docker_user/log_files  image_name

#-v /host_path:/container_path 来设置两个系统之间的共享文件夹。    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值