安装docker,创建容器

安装

linux最小化安装时没有netstat命令 可以使用yum -y install net-tools安装
删除旧版本,如果没有可以不执行

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

安装依赖包

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

设置yum源

yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
或者yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新缓存

yum makecache fast

安装docker CE

yum -y install docker-ce

启动后台服务 (如果设置开机自启动在/etc/rc.local中加入该命令,并赋予可执行权限,rc.local有连接符rc.local->rc.d/rc.local)

systemctl start docker

测试

docker run hello-world

因为没有hello-world 镜像所以首次运行时会自动下载一个镜像然后运行
设置国内镜像源
为了加速方位可以vi /etc/docker/daemon.json
然后加入
{
“registry-mirrors”: [“https://registry.docker-cn.com”]
}
然后重启docker

查看本机所有的镜像可以使用如下命令
docker images或者docker image ls
docker官方镜像站点https://hub.docker.com/
使用docker命令查找镜像 例如docker search nginx
可以列出nginx所有相关镜像
拉取镜像

docker pull nginx

运行镜像
docker run 镜像名 一般要加一些参数 以nginx为例

docker run -p 80:80 -d --name nginx_web nginx

注意:镜像名指的是仓库名称:标签名 如果只写仓库名默认是最新版本镜像 即 镜像名:latest
运行镜像会创建一个容器 后续可以使用docker stop 或者docker start 容器名 停止或者启动容器 例如

docker stop nginx_web
docker start nginx_web

查看运行中的容器

docker ps

查看所有容器

docker ps -a

宿主机容器相互拷贝文件
从宿主机向容器拷贝文件 格式:docker cp 宿主机文件名 容器名:路径
从容器向宿主机拷贝文件 格式:docker cp 容器名:路径/文件名 宿主机路径/文件名
例如:

docker cp index.html nginx8080:/usr/share/nginx/html
docker cp  nginx8080:/usr/share/nginx/html/index.html ./

删除容器 docker rm 容器名 例如:

docker rm nginx_web

从容器创建镜像 docker commit -m “备注信息” 容器名称 镜像名称
例如:

docker commit -m "nginx的首页被改动" nginx_web nginx_new

备注:如果使用了数据卷挂载(-v) 则在宿主机目录中的更改不会影响容器内的文件内容,创建新镜像时仍然按原始容器内的文件内容创建
删除镜像 docker rmi 镜像名称 或者 docker image rm 镜像名称
例如

docker rmi nginx_new

提示:如果通过该镜像创建了容器则需要先删除容器 如果删除容器时容器在运行则需要先停止
查看docker系统占用的所有空间 docker system df
进入容器内查看docker exec -it nginx_web /bin/bash 退出容器exit

数据卷(目录映射)
可以将宿主机的某个目录映射到容器内的某个目录 操作方式

 docker run -p 8080:80 -d --name nginx8080 -v /home/wwwroot/default:/usr/share/nginx/html nginx

其中 /home/wwwroot/default 是宿主机目录 /usr/share/nginx/html 是容器内的目录
支持多个目录的映射
以nginx为例
容器内的目录

/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf
/usr/share/nginx/html/

宿主目录和容器内目录的映射关系
/usr/local/nginx81/ 映射到 /etc/nginx
/home/wwwroot/default81 映射到 /usr/share/nginx/html/

先从其他容器拷贝对应的配置文件 例如

docker cp nginx8080:/etc/nginx /usr/local/nginx81/

执行如下指令

docker run -p 81:80 -d --name nginx81 \
-v /usr/local/nginx81/nginx:/etc/nginx \
-v /home/wwwroot/default81:/usr/share/nginx/html/ \
nginx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值