1、卸载原来安装过的docker,如果没有安装过docker可以跳过
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、安装软件包(提供实用程序)并设置存储库
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装成功后可以在/etc/yum.repos.d下看见docker-ce.repo文件
3、安装docker引擎
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
container engine 容器引擎
docker是一个容器管理的软件
docker-ce 是服务器端软件 server
docker-ce-cli是客户端软件 client
docker-compose-plugin是compose插件,用来批量启动很多容器,在单台机器上
containerd.io 底层用来启动容器的
4、启动docker服务
systemctl start docker
5、设置docker服务开机启动
systemctl enable docker
1、下载nginx容器镜像
docker pull nginx
2、创建nginx容器
docker run -d -p 8090:80 --name nginx-1 nginx
-d —— 代表daemon(守护进程),表示在后台运行
-p 8090:80 —— 指定端口映射,通过DNAT技术当访问宿主机的8090端口时会指向访问docker的80接口进而访问对应的容器
–name nginx-1 —— 指定容器名字为nginx-1
nginx —— 使用的镜像为nginx
3、在客户端上测试能否访问宿主机器的8090端口
1、下载镜像
docker pull mysql:5.7.39
2、启动容器
Starting a MySQL instance is simple:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
some-mysql
表示你想要给容器起什么名字
my-secret-pw
表示为root用户设置密码用来登录MySQL
tag
表示你想要使用的MySQL容器的版本
3、进入mysql容器里
[root@docker ~]# docker exec -it sc-mysql-1 bash
bash-4.2#
docker exec 进入容器内部,执行命令
-it 开启一个中断,交互式登录进入
sc-mysql-1 容器的名字
bash 进入容器里运行的程序
4、在容器内部登录进入mysql
bash-4.2# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
docker --version——查看docker版本
docker --help——查看docker有哪些命令
docker ps——查看目前启动了哪些docker容器
docker启动的每一个容器背后就是一个linux进程
[root@docker yum.repos.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1527e0628b8d nginx "/docker-entrypoint.…" 7 minutes ago Up 7 minutes 0.0.0.0:8090->80/tcp, :::8090->80/tcp sc-nginx
docker ps -a——查看所有的容器包括停止的
[root@docker ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1527e0628b8d nginx "/docker-entrypoint.…" 3 hours ago Up 3 hours 0.0.0.0:8090->80/tcp, :::8090->80/tcp sc-nginx
docker start sc-nginx——启动已经停止的容器
docker images——查看docker镜像
images——镜像:里面包含了我们需要的软件的代码和基础环境,以及依赖软件
docker pull nginx——下载nginx容器镜像
docker run ——创建一个新的docker容器
docker start/stop——启动/暂停容器
docker info——docker信息汇总
docker logs 容器id——查看指定容器启动失败日志
docker rmi——删除镜像
docker rm——删除容器,后面接容器的名字
镜像来源——默认从docker官方提供的网站去下载
Docker Hub Container Image Library | App Containerization
凡是你想得到的软件,都有一个镜像,我们直接启动镜像就可以获得这个软件
docker 容器启动软件,颠覆了我们传统的软件安装方式
dockerfile 是制作docker镜像的文件,理解成一个配方文件