Docker安装及基本操作
程序员文章站
2024-01-22 22:56:52
...
Docker安装及基本操作
环境准备
-
一台服务器
-
操作系统:CentOS 7.5
hub docker
-
链接地址:https://hub.docker.com注册一个自己的docker仓库,自己去注册就行了
-
进入我们的仓库
-
创建一个镜像仓库
- 仓库内容
docker安装
-
安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装 Docker-CE
sudo yum install docker-ce
-
启动docker
# 开机自启 sudo systemctl enable docker # 启动docker服务 sudo systemctl start docker
-
查看docker版本信息
docker -v
doker安装centos7镜像
##拉取centos7镜像
[aaa@qq.com ~]# docker pull centos:7
1
[aaa@qq.com ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos centos7.1.1503 e1430271e2f9 16 months ago 212MB
##启动镜像centos7,如果不指定 /bin/bash,容器运行后会自动停止 9090指的是宿机端口,8080指的是容器地址
[aaa@qq.com ~]# docker run -itd -p 9090:8080 e1430271e2f9 /bin/bash
d20f302b7d7ac5fde97af031f09ff409d8124b167eb865448eddb73f5f73c869
#查看docker运行的容器
[aaa@qq.com ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d20f302b7d7a e1430271e2f9 "/bin/bash" 6 seconds ago Up 6 seconds 0.0.0.0:9090->8080/tcp stoic_napier
##进入容器
[aaa@qq.com ~]# docker exec -it d20f302b7d7a /bin/bash
在容器中安装jdk
- 首先去官网把jdk包放到宿机中
-
通过命令把jdk从宿机拷贝到容器中
#先通过命令查看容器id docker ps #再把jdk拷贝到容器中 dokcer cp 宿机文件路径 容器id:宿机路径 docker cp /usr/local/jdk-8u181-linux-x64.tar.gz 476766cdd64f:/usr/local #然后我们要进入容器中 docker exec -it 476766cdd64f /bash/bin #在容器中找到我们拷贝的jdk文件 cd /usr/local #再解压文件 tar -zxvf jdk-8u181-linux-x64.tar.gz #编辑全局变量 vi /etc/profile #在最后一行加上 export JAVA_HOME=/usr/java/jdk1.8.0_181 export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH=$PATH:${JAVA_HOME}/bin #查看jdk是否配置成功 java -version
在容器中安装tomcat
#通过wget命令下载jdk
#我们的容器中centos没有wget命令所以我们要安装
yum -y install wget
#然后通过wget命令下载tomcat
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.56/bin/apache-tomcat-8.5.56.tar.gz
#然后解压这个文件
tar -zxvf apache-tomcat-8.5.56.tar.gz
安装完成后我们启动这个tomcat,然后就可以访问了
dokcer本地将容器打包成镜像
-
登录dokcer hub仓库
[aaa@qq.com /]# docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: <账号> Password: <密码>
-
从容器创建一个镜像
#查看启动的容器 docker ps #-a :提交的镜像作者; #-c :使用Dockerfile指令来创建镜像; #-m :提交时的说明文字; #-p :在commit时,将容器暂停。 [aaa@qq.com /]# docker commit -a "centos" -m "my centos" d20f302b7d7a centos:v1
将镜像上传到镜像库
// 这个命令的意思是 将镜像web01 设置上传的仓库名字 仓库名字是docker上注册的 用户名/仓库名
docker tag centos:v1 ydb960113/my_centos
#上传镜像 docker push 被tag的镜像名
docker push ydb960113/my_centos
#上传成功之后我们的镜像仓库就会有我们上传的镜像了
拉取镜像
-
登录docker仓库
[aaa@qq.com /]# docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: <账号> Password: <密码>
-
下载docker仓库镜像文件
# docker search <用户/名称> # docker pull 用户名/仓库:版本号 版本号可以不加 docker pull ydb960113/my_centos # 镜像下载完成之后,查看服务器上的镜像 docker images #然后运行镜像 docker run -itd -p 9090:8080 <镜像id> /bin/bash #现在的容器跟我们原来的哪个容器是一样的,所有的内容都行相同
docker基本命令
# 查看已下载镜像
docker images
# 删除容器
docker rm <容器名 or ID>
# 查看容器日志
docker logs -f <容器名 or ID>
# 查看正在运行的容器
docker ps
# 查看所有的容器,包括已经停止的。
docker ps -a
# 删除所有容器
docker rm $(docker ps -a -q)
# 停止、启动、杀死指定容器
docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器
docker rm <容器名 or ID> #移除容器
# 后台运行 docker run -itd <Other Parameters>
docker run -itd -p 33301:22 centos6-ssh
# 暴露端口: 一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docker -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口
# 映射数据卷
docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址
上一篇: mongodb的复制集及搭建
下一篇: Django安装及基本操作