centOS7安装docker及docker命令记录

208 阅读2分钟

1.安装docker

本系统为centOS7

卸载旧版本:

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

设置存储库:

sudo yum install -y yum-utils

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

安装最新版本的 Docker 发动机和容器:

sudo yum install docker-ce docker-ce-cli containerd.io

启动docker:

systemctl start docker

查看docker状态:

systemctl status docker

运行官方docker demo

docker run hello-world

配置阿里云镜像加速器(解决docker官方仓库下载速度慢的问题,可略过)

登录阿里云控制台,搜索容器镜像服务,查看配置手册,获取加速器地址。
sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": ["https://emds0vep.mirror.aliyuncs.com"]
}
EOF

systemctl daemon-reload

systemctl restart docker

查看docker信息:

docker info

2.命令记录

docker镜像操作:
docker images 查看所有镜像
docker images -q 查看所有镜像id
docker search nginx 查看docker hub所有的nginx镜像
docker pull nginx 拉取nginx的远程镜像
docker pull nginx:1.11 拉取nginx的远程1.11版本镜像
docker rmi nginx 删除nginx的本地镜像
docker rmi -f nginx 强制删除nginx的本地镜像
docker save imagename -o name.tar	将镜像打包成tar文件
docker load -i name.tar 从tar文件加载镜像

docker容器命令:
docker run -d -p 8080:80 --name mynginx nginx 启动nginx镜像,并容器80端口映射到外部8080端口
	-p 端口映射 -d 后台运行 --name 映射名称		-v 宿主机路径:容器内路径 挂载运行,可以多个-v连用	
docker start id 启动容器
docker ps 查看所有运行容器
docker ps -q 查看所有运行容器id
docker ps -a 查看所有容器,包括已经关闭的
docker stop id 关闭容器
docker stop -f id 强制关闭容器
docker kill id 杀掉容器
docker rm -f id 强制删除容器
docker rm -f $(docker ps -qa) 强制删除所有容器
docker commit -m "修改首页" id newName 将容器保存为镜像

docker容器内部命令:
docker top id 查看容器内部进程
docker inspect id 查看容器内部信息
docker logs -f --tail 10 id 查看容器最后10行日志,并跟随最新日志

进入容器执行命令
docker exec -it id bash  进入容器执行命令 -i 交互式运行容器 -t 分配一个伪终端,通常与-it一起使用 
echo "hello world" > index.html 将index.html内容修改为hello world 
apt-get update	docker容器默认ubuntu系统,该命令更新远程软件列表到本地
apt-get install vim	安装vim命令
exit 退出容器
docker cp id:容器内路径 宿主机路径		将docker内文件复制到宿主机 

docker安装mysql
docker pull mysql:版本号	拉取指定版本mysql
docker run --name mysql -p 3306:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/config.d:/etc/mysql/config.d -e MYSQL_ROOT_PASSWORD=1234 -d mysql
	启动mysql镜像,必须给root账户设置密码,否则启动不成功 -v 映射宿主机配置文件路径和数据保存路径
docker exec -it mysql bash		进入mysql容器
mysql -u root -p 输入密码,连接mysql

构建docket内部网络
docker network ls	查看所有网络
docker network create congnet	创建网络
docker inspect -f '{{.NetworkSettings.IPAddress}}' 容器id	查看容器ip
docker network inspect congnet	查看网络情况
docker network rm congnet 删除网络
docker run -d --name mynginx --net congnet nginx	启动nginx容器并放入congnet网络中
docker network connect congnet name/id	将已存在的容器加入到congnet网络中
docker network disconnect congnet name/id	将已存在的容器从congnet网络中移除
测试网络连通
    apt-get update && apt-get install curl	安装curl命令
    curl mynginx	测试是否可以到达mynginx
    apt-get install iputils-ping	也可安装ping命令
    ping mynginx	测试是否能ping通