sudo add-apt-repository “deb [arch=amd64] https. //Tải xuống. người đóng tàu. com/linux/ubuntu $[lsb_release -cs] ổn định”
3. Cài đặt Docker
Sử dụng lệnh apt để cài đặt Docker trên Ubuntu
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
Kiểm tra trạng thái Docker tra cứu
$ sudo service docker status
Nếu Docker của bạn chưa được khởi động, hãy khởi động nó bằng lệnh
$ sudo dịch vụ docker bắt đầu
Xác nhận kết quả cài đặt Docker thành công hay không bằng cách chạy một Hình ảnh thử nghiệm xem có hoạt động bình thường không
$ sudo docker run hello-world
Thiết lập Laravel, Nginx và Mysql với Docker Compose
1. Khởi tạo Laravel
Bạn hãy trỏ đến thư mục chính bạn muốn đặt dự án sau đó chạy lệnh
$ nhà soạn nhạc tạo dự án –prefer-dist laravel/laravel docker-laravel
Di chuyển vào dự án
$ cd docker-laravel
2. Tạo Docker Compose
Sau khi chuyển vào dự án, bạn hãy tạo tập tin có tên là
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
6. Xây dựng các ứng dụng của bạn với Docker Compose giúp đơn giản hóa quá trình thiết lập và tạo phiên bản cho cơ sở hạ tầng của bạnTrong tệp
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
6 chèn nội dung dưới đây vào tệpversion: '3' services: #PHP Service app: build: context: . dockerfile: Dockerfile image: framgia/laravel-php-fpm container_name: project_app restart: always tty: true environment: SERVICE_NAME: project_app SERVICE_TAGS: dev working_dir: /var/www volumes: - ./:/var/www - ./php/php.ini:/usr/local/etc/php/conf.d/local.ini networks: - app-network #Nginx Service webserver: image: nginx container_name: project_webserver restart: always tty: true ports: - "80:80" - "443:443" volumes: - ./:/var/www - ./nginx/conf.d/:/etc/nginx/conf.d/ networks: - app-network #MySQL Service db: image: mysql:5.7.22 container_name: project_db restart: always tty: true ports: - "3376:3306" environment: MYSQL_DATABASE: laravel MYSQL_ROOT_PASSWORD: your_mysql_root_password SERVICE_TAGS: dev SERVICE_NAME: mysql volumes: - dbdata:/var/lib/mysql/ - ./mysql/my.cnf:/etc/mysql/my.cnf networks: - app-network #Docker Networks networks: app-network: driver: bridge #Volumes volumes: dbdata: driver: local
Trong tệp
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
6, bạn sẽ xác định các dịch vụ đó là. app, webservice, db và các cú pháp khác bên trong mỗi dịch vụ- ứng dụng. Dịch vụ này chứa ứng dụng của bạn và sử dụng 1 Docker Image_______0_______9 [Các bạn có thể tùy chỉnh và chọn Docker Image phù hợp]
- dịch vụ web. Dịch vụ này lấy
0Image từ Docker và chạy các cổng$ sudo service docker status
1 và$ sudo service docker status
2$ sudo service docker status
- db. Dịch vụ này lấy
3Image từ Docker và xác định 1 vài biến môi trường như là$ sudo service docker status
4 và$ sudo service docker status
5. Bạn có thể tùy chỉnh lại giá trị của các biến sao cho phù hợp$ sudo service docker status
- container_name. xác định tên cho vùng chứa, tương ứng với tên của từng dịch vụ
- ** mạng ứng dụng. **như là 1 mạng cầu nối các Container lại với nhau, tạo điều kiện giao tiếp giữa các Container
- dbdata. trong
6 dùng để duy trì cơ sở dữ liệu mysql, cho phép bạn khởi động lại$ sudo service docker status
6 mà không bị mất dữ liệu$ sudo service docker status
8$ sudo service docker status
9 và$ sudo service docker status
0 đều được sử dụng để gắn kết với cảnh quan bên phải sau dấu$ sudo docker run hello-world
1 trong Container, cho phép bạn bổ sung hoặc chỉnh sửa cấu hình nội dung nếu cần thiết$ sudo docker run hello-world
3. Tạo Dockerfile
Docker cho phép bạn chỉ định môi trường bên trong các Container riêng lẻ bằng Dockerfile. Dockerfile cho phép bạn tạo Hình ảnh mà bạn sử dụng để cài đặt phần mềm theo yêu cầu của dự án. Bạn có thể đẩy các tùy chỉnh hình ảnh mà bạn đã tạo vào Docker Hub
Tạo tệp có tên là Dockerfile trong thư mục của dự án, tệp này sẽ thiết lập 1 Hình ảnh và chỉ định các lệnh và hướng dẫn cần thiết để xây dựng Hình ảnh của dự án Laravel của bạn
FROM php:8.0-fpm #Copy composer.lock and composer.json COPY composer.lock composer.json /var/www/ #Set working directory WORKDIR /var/www #Install dependencies RUN apt-get update && apt-get install -y build-essential libpng-dev libjpeg62-turbo-dev libfreetype6-dev locales zip jpegoptim optipng pngquant gifsicle vim unzip git curl #Clear cache RUN apt-get clean && rm -rf /var/lib/apt/lists/* #Install extensions RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/ RUN docker-php-ext-install gd #Install composer RUN curl -sS //getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer #Add user for laravel application RUN groupadd -g 1000 username RUN useradd -u 1000 -ms /bin/bash -g username username #Copy existing application directory contents COPY . /var/www #Copy existing application directory permissions COPY --chown=username:username . /var/www #Change current user to username USER username EXPOSE 9000 CMD ["php-fpm"]
Trước tiên, bạn đã khởi tạo 1 Image php. 8. 0-fpm như ở trên, câu lệnh
$ sudo docker run hello-world
2 được sử dụng để cập nhật, cài đặt và thiết lập cấu hình bên trong Vùng chứa, tạo người dùng và nhóm được gọi là tên người dùng$ sudo docker run hello-world
3 command display a port in the area contain 9000, for php-fpmmáy chủ. $ sudo docker run hello-world
4 chỉ lệnh sẽ chạy sau khi vùng chứa được tạo4. Cấu hình PHP
Theo bước số 2 chúng ta tạo file
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
6 thì file cấu hình php của chúng ta sẽ nằm ở $ sudo service docker status
8. Bây giờ chúng ta sẽ tạo ra nó$ mkdir php $ cd php $ touch php.ini
Sau đó mở file php. ini và ghi lại các cấu hình mà bạn mong muốn, ví dụ mình ghi lại cấu hình đơn giản về kích thước tối đa cho phép đưa các tệp lên dự án như sau
upload_max_filesize=40M post_max_size=40M
5. Cấu hình Nginx
Tương tự cấu hình php thì Nginx chúng ta cũng sẽ tạo tệp theo đường dẫn
$ sudo service docker status
9 trong tệp $ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
6, nếu bạn không xác định tên tệp thì mặc định sẽ gọi đến tệp $ sudo docker run hello-world
9$ mkdir nginx $ cd nginx $ mkdir conf.d $ cd conf.d $ touch default.conf
Sau đó, chèn đoạn mã dưới đây vào tệp
$ sudo docker run hello-world
9server { listen 80; index index.php index.html; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /var/www/public; location ~ .php$ { try_files $uri =404; fastcgi_split_path_info ^[.+.php][/.+]$; fastcgi_pass app:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } location / { try_files $uri $uri/ /index.php?$query_string; gzip_static on; } }
- nghe. Chỉ thị cổng xác nhận cổng này mà máy chủ sẽ lắng nghe các yêu cầu đến
- error_logvà access_log. Lệnh này xác định các tệp để ghi nhật ký
- nguồn gốc. This is only set the original directory directory,Tạo thành đường dẫn hoàn chỉnh đến bất kỳ tệp nào được yêu cầu trên hệ thống tệp cục bộ
6. Cấu hình Mysql
Tương tự cấu hình Nginx hay php, Chúng ta cũng sẽ tạo tệp theo đường dẫn
$ sudo docker run hello-world
0trong tệp $ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
60$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
Sau đó, chèn đoạn mã mà bạn muốn ghi đè vào tệp của tôi. cnf ví dụ như là gán
version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: framgia/laravel-php-fpm
container_name: project_app
restart: always
tty: true
environment:
SERVICE_NAME: project_app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./php/php.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx
container_name: project_webserver
restart: always
tty: true
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#MySQL Service
db:
image: mysql:5.7.22
container_name: project_db
restart: always
tty: true
ports:
- "3376:3306"
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: your_mysql_root_password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
3 bằng 1 cho phép các bản ghi chung và các version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: framgia/laravel-php-fpm
container_name: project_app
restart: always
tty: true
environment:
SERVICE_NAME: project_app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./php/php.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx
container_name: project_webserver
restart: always
tty: true
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#MySQL Service
db:
image: mysql:5.7.22
container_name: project_db
restart: always
tty: true
ports:
- "3376:3306"
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: your_mysql_root_password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
4 quy định cụ thể có thể thiết lập nơi các bản ghi sẽ được lưu trữ1$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
7. Cài đặt môi trường cho dự án và chạy các Container
Đậu tiên, nếu ta chưa có file. env thì hãy tạo tệp
version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: framgia/laravel-php-fpm
container_name: project_app
restart: always
tty: true
environment:
SERVICE_NAME: project_app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./php/php.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx
container_name: project_webserver
restart: always
tty: true
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#MySQL Service
db:
image: mysql:5.7.22
container_name: project_db
restart: always
tty: true
ports:
- "3376:3306"
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: your_mysql_root_password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
5 bằng cách sao chép tệp version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: framgia/laravel-php-fpm
container_name: project_app
restart: always
tty: true
environment:
SERVICE_NAME: project_app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./php/php.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx
container_name: project_webserver
restart: always
tty: true
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#MySQL Service
db:
image: mysql:5.7.22
container_name: project_db
restart: always
tty: true
ports:
- "3376:3306"
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: your_mysql_root_password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
6 và đổi thành tệp version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: framgia/laravel-php-fpm
container_name: project_app
restart: always
tty: true
environment:
SERVICE_NAME: project_app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./php/php.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx
container_name: project_webserver
restart: always
tty: true
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#MySQL Service
db:
image: mysql:5.7.22
container_name: project_db
restart: always
tty: true
ports:
- "3376:3306"
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: your_mysql_root_password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
5 bằng lệnh. version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: framgia/laravel-php-fpm
container_name: project_app
restart: always
tty: true
environment:
SERVICE_NAME: project_app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./php/php.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx
container_name: project_webserver
restart: always
tty: true
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#MySQL Service
db:
image: mysql:5.7.22
container_name: project_db
restart: always
tty: true
ports:
- "3376:3306"
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: your_mysql_root_password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
8Tiếp theo, hãy mở tệp. env bạn vừa tạo và chỉnh sửa lại thông tin cấu hình cơ sở dữ liệu của bạn
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
2Tiếp tục, bạn chỉ cần chạy 1 câu lệnh để khởi động tất cả các Container, tạo Volume, thiết lập và kết nối với Networks
$ docker-soạn thảo lên -d
Sau khi chạy thành công, để kiểm tra các Container đang chạy, bạn nhập lệnh
$ docker ps
Bây giờ, thay vì các bạn sử dụng câu lệnh trong laravel thường ngày khi chưa cài đặt Docker ví dụ như
version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: framgia/laravel-php-fpm
container_name: project_app
restart: always
tty: true
environment:
SERVICE_NAME: project_app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./php/php.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx
container_name: project_webserver
restart: always
tty: true
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#MySQL Service
db:
image: mysql:5.7.22
container_name: project_db
restart: always
tty: true
ports:
- "3376:3306"
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: your_mysql_root_password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
9, thì sau khi bạn cài đặt xong các câu lệnh đó sẽ được sử dụng như sau$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
38. Tạo tài khoản trong Mysql
Để tạo tài khoản mới, chúng ta cần tương tác với Container____20_______0 bằng câu lệnh
FROM php:8.0-fpm
#Copy composer.lock and composer.json
COPY composer.lock composer.json /var/www/
#Set working directory
WORKDIR /var/www
#Install dependencies
RUN apt-get update && apt-get install -y
build-essential
libpng-dev
libjpeg62-turbo-dev
libfreetype6-dev
locales
zip
jpegoptim optipng pngquant gifsicle
vim
unzip
git
curl
#Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
#Install extensions
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/
RUN docker-php-ext-install gd
#Install composer
RUN curl -sS //getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
#Add user for laravel application
RUN groupadd -g 1000 username
RUN useradd -u 1000 -ms /bin/bash -g username username
#Copy existing application directory contents
COPY . /var/www
#Copy existing application directory permissions
COPY --chown=username:username . /var/www
#Change current user to username
USER username
EXPOSE 9000
CMD ["php-fpm"]
1Bên trong Container, đăng nhập bằng tài khoản quản trị
FROM php:8.0-fpm
#Copy composer.lock and composer.json
COPY composer.lock composer.json /var/www/
#Set working directory
WORKDIR /var/www
#Install dependencies
RUN apt-get update && apt-get install -y
build-essential
libpng-dev
libjpeg62-turbo-dev
libfreetype6-dev
locales
zip
jpegoptim optipng pngquant gifsicle
vim
unzip
git
curl
#Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
#Install extensions
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/
RUN docker-php-ext-install gd
#Install composer
RUN curl -sS //getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
#Add user for laravel application
RUN groupadd -g 1000 username
RUN useradd -u 1000 -ms /bin/bash -g username username
#Copy existing application directory contents
COPY . /var/www
#Copy existing application directory permissions
COPY --chown=username:username . /var/www
#Change current user to username
USER username
EXPOSE 9000
CMD ["php-fpm"]
2MysqlFROM php:8.0-fpm
#Copy composer.lock and composer.json
COPY composer.lock composer.json /var/www/
#Set working directory
WORKDIR /var/www
#Install dependencies
RUN apt-get update && apt-get install -y
build-essential
libpng-dev
libjpeg62-turbo-dev
libfreetype6-dev
locales
zip
jpegoptim optipng pngquant gifsicle
vim
unzip
git
curl
#Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
#Install extensions
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/
RUN docker-php-ext-install gd
#Install composer
RUN curl -sS //getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
#Add user for laravel application
RUN groupadd -g 1000 username
RUN useradd -u 1000 -ms /bin/bash -g username username
#Copy existing application directory contents
COPY . /var/www
#Copy existing application directory permissions
COPY --chown=username:username . /var/www
#Change current user to username
USER username
EXPOSE 9000
CMD ["php-fpm"]
3Tiếp theo, ta tạo người dùng và gán quyền truy cập vào cơ sở dữ liệu vừa tạo
4$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
To exit from Container, gõ lệnh.
FROM php:8.0-fpm
#Copy composer.lock and composer.json
COPY composer.lock composer.json /var/www/
#Set working directory
WORKDIR /var/www
#Install dependencies
RUN apt-get update && apt-get install -y
build-essential
libpng-dev
libjpeg62-turbo-dev
libfreetype6-dev
locales
zip
jpegoptim optipng pngquant gifsicle
vim
unzip
git
curl
#Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
#Install extensions
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/
RUN docker-php-ext-install gd
#Install composer
RUN curl -sS //getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
#Add user for laravel application
RUN groupadd -g 1000 username
RUN useradd -u 1000 -ms /bin/bash -g username username
#Copy existing application directory contents
COPY . /var/www
#Copy existing application directory permissions
COPY --chown=username:username . /var/www
#Change current user to username
USER username
EXPOSE 9000
CMD ["php-fpm"]
4Các bạn hãy kiểm tra kết nối bằng lệnh này nhé
5$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
Cuối cùng, hãy thử duyệt lại trình duyệt của bạn bằng cách lên trình duyệt đã nhập. http. //ip_server, nếu bạn dùng port khác 80 thì hãy. cổng sau ip_server nhé. Chúc mọi người thành công
Tổng kết
Trong bài viết này, mình đã hướng dẫn các bạn cài đặt Docker trên Ubuntu và thiết lập Laravel, Nginx và Mysql với Docker Compose theo cách hiểu của mình. Mình rất mong nhận được sự góp ý của các bạn qua phần comment bên dưới nhé. Cảm ơn các bạn đã lắng nghe bài chia sẻ của mình
Tài liệu tham khảo
https. // tài liệu. người đóng tàu. com/engine/install/ubuntu/https. //www. kỹ thuật số. com/cộng đồng/tutorials/how-to-set-up-laravel-nginx-and-mysql-with-docker-compose