docker的简单操作

docker的简单操作

  • 直接开始
  1. 查看系统的内核版本高于 3.10
    命令查看:uname -r

[root@VM_0_3_centos ~]# uname -r
3.10.0-514.26.2.el7.x86_64



  1. 升级软件包及内核版本
// 升级软件包及内核版本
[root@VM_0_3_centos ~]# yum update


  1. 安装docker
//1.安装docker(不知道注释怎么写,就随便用了个双斜杠)
[root@VM_0_3_centos ~]# yum install docker

//2.启动docker
[root@VM_0_3_centos ~]# systemctl start docker

//3.查看版本号
[root@VM_0_3_centos ~]# docker -v
Docker version 1.13.1, build b2f74b2/1.13.1

//4.将docker 服务设为开机启动 
[root@VM_0_3_centos ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

//5.停止docker
[root@VM_0_3_centos ~]# systemctl stop docker



  1. 帮助命令
# 验证
[root@VM_0_3_centos ~]# docker version

# 描述
[root@VM_0_3_centos ~]# docker info

# 帮助(想成为高手,多用用这个命令)
[root@VM_0_3_centos ~]# docker --help
  1. 镜像操作
//1.检索
//xxx填你需要搜索的,最好去 https://hub.docker.com/搜索
[root@VM_0_3_centos ~]# docker search xxx

//2. 拉取
[root@VM_0_3_centos ~]# docker pull mysql:5.7.26


//3.查看镜像列表
[root@VM_0_3_centos ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/redis     latest              3c41ce05add9        5 days ago          95 MB
docker.io/mysql     5.7.26              7faa3c53e6d6        5 weeks ago         373 MB
[root@VM_0_3_centos ~]#

//4.删除镜像
[root@VM_0_3_centos ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/redis     latest              3c41ce05add9        5 days ago          95 MB
docker.io/mysql     5.7.26              7faa3c53e6d6        5 weeks ago         373 MB
[root@VM_0_3_centos ~]# docker rmi 7faa3c53e6d6
Untagged: docker.io/mysql:5.7.26
Untagged: docker.io/mysql@sha256:196fe3e07006352b4
Deleted: sha256:7faa3c53e6e8013b1fff1c4d9
Deleted: sha256:bada5edfc0f1d4a83c227bc7a153
Deleted: sha256:cb6436ac11f84e3e15073588fc7
[root@VM_0_3_centos ~]#
  1. 容器操作
    详细可以点击下面网站
    https://docs.docker.com/engine/reference/commandline/docker/
1.运行,比如运行ES
[root@VM_0_3_centos ~]# docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m"
-d -p 9200:9200 -p 9300:9300 --name ES_0617 d0b291d7093b

2 停止容器
[root@VM_0_3_centos ~]# docker stop a1bb24e689b8
a1bb24e689b8
//2.2 强制停止
[root@VM_0_3_centos ~]# docker kill a1bb24e689b8

3进入退出容器
//3.1 退出容器
[root@容器内 ~]# exit //容器停止退出
//3.2 ctrl + P + Q 不停止退出
//3.3 进入
[root@VM_0_3_centos ~]# docker exec -t id bashShell
[root@VM_0_3_centos ~]# docker exec -it 2eac68bdae2b /bin/bash

//3.4 重新进入
[root@VM_0_3_centos ~]# docker attach id

4.查看容器日志
//-t:是加入时间戳
//-f:跟随最新的日志打印
//--tail 数字:显示最后多少条
[root@VM_0_3_centos ~]# docker logs id
//4.1 
[root@VM_0_3_centos ~]# docker logs -f -t --tail id

5启动
[root@VM_0_3_centos ~]# docker start id

6.删除
[root@VM_0_3_centos ~]# docker rm id
//6.1 批量删除(在自己的虚拟机上测试着玩)
//1
[root@VM_0_3_centos ~]# docker ps -a -q|xargs docker rm
//2
[root@VM_0_3_centos ~]# docker rm -f $(docker ps -a -q)


7.容器列表(这是运行中的)
[root@VM_0_3_centos ~]# docker ps
//7.1 容器列表(全部)
[root@VM_0_3_centos ~]# docker ps -a

8 拷贝
//在主机(将容器中的yum.log文件拷贝到主机上)
[root@VM_0_3_centos ~]# docker cp id:/tmp/yum.log /root

9 提交
//提交一个副本,成为一个新的镜像(以容器为模板,生产一个新的镜像)
//docker commit -m="描述" -a="作者" 容器id 镜像名:[标签]
//我也不知道能不能写中文
[root@VM_0_3_centos ~]# docker commit -m=”哈哈“ -a="披着床单的小王子" 模板容器id 自定义镜像名(空间名/镜像名):1.2

10 继承
//--volumes-from
//实例,建立doc2容器,继承doc1 属于镜像名
docker run -it --name doc2 --volumes-from doc1 镜像名
//共享的文件夹里的东西共享,新建的共享,文件自带的不知道共不共享

//* 其他
//8.1 进程
[root@VM_0_3_centos ~]# docker top 容器id
//8.2 结构 
[root@VM_0_3_centos ~]# docker inspect 容器id


20 具体的
1)安装mysql

docker run --name mysql01 -p 3306:3306 
-v /yyong/mysql/conf:/etc/mysql/conf.d
-v /yyong/mysql/logs:/logs
-v /yyong/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456 
-d mysql:5.7
--lower_case_table_names=1

备份数据库
docker exec mysql服务容器ID sh -c 'exec mysqldump --all-databases -uroot -p"123456"' > /yyong/all-databases.sql

2)安装redis
docker run --name myredis -p 6379:6379
-v /yyong/myredis/data:/data
-v /yyong/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-d redis:3.2 redis-server /usr/local/etc/redis/redis.conf
--appendonly yes
--requirepass "123456"

3)安装Tomcat
先将配置文件复制出来
[root@VM_0_3_centos ~]# docker cp id:/usr/local/tomcat/conf /yyong/tomcat_door/

docker run --name tomcat_door -d -p 80:8080 
-v /yyong/tomcat_door/webapps:/usr/local/tomcat/webapps 
-v /yyong/tomcat_door/conf:/usr/local/tomcat/conf 
id


webapps:放项目
cert:放ssl验证书
conf:配置文件
[root@VM_0_3_centos ~]# docker run --name tomcat_8989_https_test -d -p 8989:8080 
-v /yyong/tomcat_8989_https_test/webapps:/usr/local/tomcat/webapps 
-v /yyong/tomcat_8989_https_test/cert:/usr/local/tomcat/cert 
-v /yyong/tomcat_8989_https_test/conf:/usr/local/tomcat/conf 45bc18d971f4





//

6 Docker容器数据卷
类似redis的持久化

1. 使用命令添加
[root@VM_0_3_centos ~]# docker run -it -v /宿主机绝对路劲目录:/容器内目录 镜像名

2. DockerFile添加

FROM java:8
MAINTAINER yyong
ADD demo-0.0.1-SNAPSHOT.jar demo.jar
EXPOSE 80
ENTRYPOINT ["java","-jar","demo.jar"]


4. 创建好Dockerfile文件之后,执行命令 构建镜像:

docker build -t my/demo .

注意最后的 .  表示 Dockerfile 文件在当前目录下
my/demo  构建之后镜像名称

5. 镜像构建成功之后,就可以运行容器了:

docker run -d --name demo -p 8080:80 my/demo


DockerFile
执行DockerFile

docker build -f /mydocker/Dockerfile2 -t mycentos:1.3 .

在这里插入图片描述

1.原镜像 scratch
FROM scratch
MAINTAINER 名字<邮箱>
ADD xxxx.tar.xz /
LABEL name="CentOS Base Image" \
	vendor="CenOS" \
	license="GPLv2" \
	build-date="2016-06-02"

# Default command
CMD ["/bin/bash"]

2.环境变量 ENV
//MYPATH = /usr/local
ENV MYPATH /usr/local


3.落脚点 WORKDIR
WORKDIR $MYPATH 


4.端口 EXPOSE

5.执行 RUN CMD
//可以写成CMD yum -y install vim 吗?
//我也不知道
RUN yum -y install vim
RUN yum -y install net-tools

CMD echo $MYPATH
CMD echo "success------ok"
CMD /bin/bash

在这里插入图片描述

在这里插入图片描述
一个例子
在这里插入图片描述

  1. 本地镜像到阿里云
    阿里云-容器镜像服务
$ sudo docker login --username=136******** registry.cn-shenzhen.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/yyong/mytest:[镜像版本号]
$ sudo docker push registry.cn-shenzhen.aliyuncs.com/yyong/mytest:[镜像版本号]
[root@VM_0_3_centos ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
mydocker/door80            latest              5f3ed1aaf49f        13 days ago         695 MB
mydocker/door8080          latest              2a8f8a894625        13 days ago         695 MB
docker.io/mysql            5.7                 cd3ed0dfff7e        2 months ago        437 MB
docker.io/rmohr/activemq   latest              7c58d2d8d6af        15 months ago       569 MB
docker.io/java             8                   d23bdf5b1b1b        2 years ago         643 MB
[root@VM_0_3_centos ~]# docker login --username=136******** registry.cn-shenzhen.aliyuncs.com
Password:
Login Succeeded
[root@VM_0_3_centos ~]# docker tag cd3ed0dfff7e registry.cn-shenzhen.aliyuncs.com/yyong/mytest:1.9.9
[root@VM_0_3_centos ~]# docker push registry.cn-shenzhen.aliyuncs.com/yyong/mytest:1.9.9
The push refers to a repository [registry.cn-shenzhen.aliyuncs.com/yyong/mytest]
ccbee7d06322: Pushed
392376ec36d5: Pushed
05ef222f4cd4: Pushed
7ec35a0f9fd8: Pushed
13272fe0aa5c: Pushed
ca3e8d7fe261: Pushed
452ea71a57ff: Pushed
d8cb0457f31e: Pushed
3c353031df8b: Pushed
096401f81d2c: Pushed
67ecfc9591c8: Pushed
1.9.9: digest: sha256:ba2eda1bf1249bd7e7160fa6c446d03b3261f75d3de91bc2125967d39db1525c size: 2622
[root@VM_0_3_centos ~]#

#. 简单防火墙操作

	//linux系统
	service firewalld status ;查看防火墙状态
	service firewalld stop ;关闭防火墙
希望大家多多点赞
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值